  ProDraw IIe Disassembly  
+-------------------------+
 Craig Bower - 14 Feb 2009


ZP Addr - Description
---------------------
$06 - X Coordinate of plot cursor
$07 - Y Coordinate of plot cursor
$08 - Color for plot $00-$0F
$09 - Plot Status $00=Off, $01=On
$0F - Text with picture @ $6000-$63FF flag ($00=no text, $FF=text)


Addr Range - Description ( |+> indicates pic/text data )
--------------------------------------------------------
|+> $02F0-$02FF - Temporary storage for CW and CCW rotates

$0820-$0848 - Main executable
   $085E    - Undo buffer status byte $00-empty $FF-picture stored
   $085F    - Merge buffer status byte $00-empty $FF-picture stored
$0860-$0972 - Main setup subroutines + miscellaneous routines
$0873-$0882 - Runtime storage for ZP 'line 1' >> XYPC
$1000-$13FF - Tier 1 subroutines
   $1C00+   - Tier 2+ subroutines

|+> $4B00-$4B27 - Temporary workspace for move screen up/down

|+> $0C00-$0FFF - Title page storage << ProDraw IIe >>
|+> $1400-$17FF - Help screen / command chart
|+> $1800-$1BFF - Color codes in graphical format
|+> $2000-$23FF - Text edit display page storage
|+> $2800-$2BFF - AuxRAM display page storage
|+> $3000.$33FF - Status.Text display screen

|+> $6000-$63FF - Picture storage for cmd and col chart displays;
|+> $6000-$63FF - Also used to store current picture's text (bottom 4-lines)
|+> $6400-$67FF - Picture merge buffer storage
|+> $6800-$6BFF - Undo picture buffer storage


Main Executable
-----------------------------------------------------------------------------
0820-   A9 00       LDA   #$00
0822-   8D 10 C0    STA   $C010    r:KBDSTRB
0825-   20 EF 09    JSR   $09EF			; Init M, U status bytes
0828-   20 DE 08    JSR   $08DE			; Display titlepage

082B-   8D 10 C0    STA   $C010    r:KBDSTRB	; Clear keyboard strobe
082E-   20 23 09    JSR   $0923			; Downward wipe GR screen
0831-   20 60 08    JSR   $0860			; Clr txt area/store ZP vars
0834-   20 2A 10    JSR   $102A			; Initialize vars

0837-   20 39 10    JSR   $1039			; Display '?-Help'
083A-   20 55 10    JSR   $1055			; Display 'X> Y> Plot> Col>'
083D-   20 8A 10    JSR   $108A			; Display XYPC status
0840-   20 D2 10    JSR   $10D2			; Print plot status

0843-   20 E1 10    JSR   $10E1			; Blink/Plot cursor
0846-   20 16 11    JSR   $1116			; Check keypresses
0849-   4C 43 08    JMP   $0843			; Do it again

$85E - Undo buffer status byte $00-empty $FF-picture stored
$85F - Merge buffer status byte $00-empty $FF-picture stored


Main Setup Subroutines
-----------------------------------------------------------------------------------
0860-   20 58 FC    JSR   $FC58    F8ROM:HOME	; Clear text area
0863-   A9 00       LDA   #$00			; Store Zero-page variables
0865-   A2 0F       LDX   #$0F
0867-   B5 00       LDA   $00,X
0869-   9D 73 08    STA   $0873,X
086C-   CA          DEX
086D-   E0 FF       CPX   #$FF
086F-   D0 F6       BNE   $0867
0871-   60          RTS

0873-   A0 A0       LDY   #$A0			; Zero-page variables
0875-   A0 A0       LDY   #$A0			; Storage area
0877-   A0 A0       LDY   #$A0
0879-   A0 A0       LDY   #$A0
087B-   A0 A0       LDY   #$A0
087D-   A0 A0       LDY   #$A0
087F-   A0 A0       LDY   #$A0
0881-   A0 A0       LDY   #$A0

0884-   A9 00       LDA   #$00			; Restore Zero-page variables
0886-   A2 0F       LDX   #$0F
0888-   BD 73 08    LDA   $0873,X
088B-   95 00       STA   $00,X
088D-   CA          DEX
088E-   E0 FF       CPX   #$FF
0890-   D0 F6       BNE   $0888
0892-   60          RTS

0893-    A9 00       LDA   #$00			; Send $400-$800 >> $6000
0895-    85 FE       STA   $FE
0897-    A0 27       LDY   $27
0899-    A5 FE       LDA   $FE
089B-    20 47 F8    JSR   $F847    F8ROM:GBASCALC
089E-    A5 26       LDA   $26
08A0-    85 FA       STA   $FA
08A2-    A5 27       LDA   $27
08A4-    69 5C       ADC   #$5C			; Offset page select ($5C = $6000)
08A6-    85 FB       STA   $FB
08A8-    B1 26       LDA   ($26),Y		; Change $26 to $FA and $FA to $26
08AA-    91 FA       STA   ($FA),Y	  	; for a reverse store 
08AC-    88          DEY			; (i.e. from $6000 >> $400) 
08AD-    10 F9       BPL   $08A8
08AF-    E6 FE       INC   $FE
08B1-    A5 FE       LDA   $FE
08B3-    C9 14       CMP   #$14			; modify #$14 for bottom boundary
08B5-    D0 E0       BNE   $0897		; (i.e. #$18 will do entire screen)
08B7-    60          RTS

08B8-   05 05          				; Pitch, Length data
08BA-   AD 30 C0    LDA   $C030    rw:SPKR	; Tone routine
08BD-   88          DEY
08BE-   D0 05       BNE   $08C5
08C0-   CE B9 08    DEC   $08B9
08C3-   F0 09       BEQ   $08CE
08C5-   CA          DEX
08C6-   D0 F5       BNE   $08BD
08C8-   AE B8 08    LDX   $08B8
08CB-   4C BA 08    JMP   $08BA
08CE-   60          RTS

08CF-   A9 1D       LDA   #$1D			; Print color status byte
08D1-   85 24       STA   $24
08D3-   A9 14       LDA   #$16
08D5-   20 5B FB    JSR   $FB5B    F8ROM:TABV
08D8-   A5 08       LDA   $08
08DA-   20 DA FD    JSR   $FDDA    F8ROM:PRBYTE
08DD-   60          RTS

08DE-   20 1C 0B    JSR   $0B1C			; Display titlepage
08E1-   20 00 10    JSR   $1000
08E4-   A9 08       LDA   #$08
08E6-   8D A5 08    STA   $08A5
08E9-   A9 FA       LDA   #$FA
08EB-   8D A9 08    STA   $08A9
08EE-   A9 26       LDA   #$26
08F0-   8D AB 08    STA   $08AB
08F3-   A9 18       LDA   #$18
08F5-   8D B4 08    STA   $08B4
08F8-   20 93 08    JSR   $0893
08FB-   18          CLC				; CLC for keyboard check
08FC-   AD 00 C0    LDA   $C000    r:KBD  w:CLR80COL 
08FF-   69 80       ADC   #$80
0901-   90 F8       BCC   $08FB			; BCC = No keypress
0903-   A9 5C       LDA   #$5C
0905-   8D A5 08    STA   $08A5
0908-   A9 26       LDA   #$26
090A-   8D A9 08    STA   $08A9
090D-   A9 FA       LDA   #$FA
090F-   8D AB 08    STA   $08AB
0912-   A9 14       LDA   #$14
0914-   8D B4 08    STA   $08B4
0917-   A9 00       LDA   #$00
0919-   60          RTS

091A-   20 93 08    JSR   $0893			; Save current page
091D-   A9 15       LDA   #$15			; LDA with CHR$(21)
091F-   20 ED FD    JSR   $FDED    F8ROM:COUT	; Exit 80-column mode
0922-   60          RTS

0923-   20 46 09    JSR   $0946			; Downward wipe of screen
0926-   A9 00       LDA   #$00
0928-   85 26       STA   $26
092A-   A8          TAY
092B-   A9 04       LDA   #$04
092D-   85 27       STA   $27
092F-   A5 26       LDA   $26
0931-   91 26       STA   ($26),Y
0933-   C8          INY
0934-   C0 28       CPY   #$28
0936-   D0 F7       BNE   $092F
0938-   A9 13       LDA   #$13
093A-   85 EF       STA   $EF
093C-   20 46 09    JSR   $0946
093F-   C6 EF       DEC   $EF
0941-   A5 EF       LDA   $EF
0943-   10 F7       BPL   $093C
0945-   60          RTS
0946-   A0 12       LDY   #$12
0948-   84 FA       STY   $FA
094A-   C8          INY
094B-   84 FB       STY   $FB
094D-   A0 00       LDY   #$00
094F-   A5 FB       LDA   $FB
0951-   20 47 F8    JSR   $F847    F8ROM:GBASCALC
0954-   A5 26       LDA   $26
0956-   85 FC       STA   $FC
0958-   A5 27       LDA   $27
095A-   85 FD       STA   $FD
095C-   A5 FA       LDA   $FA
095E-   20 47 F8    JSR   $F847    F8ROM:GBASCALC
0961-   B1 26       LDA   ($26),Y
0963-   91 FC       STA   ($FC),Y
0965-   C8          INY
0966-   C0 28       CPY   #$28
0968-   D0 F7       BNE   $0961
096A-   C6 FA       DEC   $FA
096C-   C6 FB       DEC   $FB
096E-   A5 FA       LDA   $FA
0970-   10 DB       BPL   $094D
0972-   60          RTS

0973-   A9 00       LDA   #$00			; Auxmove
0975-   85 3C       STA   $3C			; $6000-$63FF
0977-   A9 60       LDA   #$60			; targeted to
0979-   85 3D       STA   $3D			; $800 in auxillary
097B-   A9 FF       LDA   #$FF			; memory
097D-   85 3E       STA   $3E
097F-   A9 63       LDA   #$63			; Will be implemented when
0981-   85 3F       STA   $3F			; AuxRAM manager is written
0983-   A9 00       LDA   #$00
0985-   85 42       STA   $42
0987-   A9 08       LDA   #$08
0989-   85 43       STA   $43			; $098B = transfer dir
098B-   38          SEC				; (38) SEC Main to Aux
098C-   20 11 C3    JSR   $C311    ROM:AUXMOVE	; (18) CLC Aux to Main
098F-   60          RTS

0990-   AD 5F 08    LDA   $085F			; Check M and U status bufs
0993-   C9 FF       CMP   #$FF
0995-   D0 03       BNE   $099A
0997-   20 A5 09    JSR   $09A5
099A-   AD 5E 08    LDA   $085E
099D-   C9 FF       CMP   #$FF
099F-   D0 03       BNE   $09A4
09A1-   20 B4 09    JSR   $09B4
09A4-   60          RTS
09A5-   A9 26       LDA   #$26			; Display 'M' status
09A7-   85 24       STA   $24
09A9-   A9 14       LDA   #$14
09AB-   20 5B FB    JSR   $FB5B    F8ROM:TABV
09AE-   A9 CD       LDA   #$CD
09B0-   20 ED FD    JSR   $FDED    F8ROM:COUT
09B3-   60          RTS
09B4-   A9 27       LDA   #$27			; Display 'U' status
09B6-   85 24       STA   $24
09B8-   A9 14       LDA   #$14
09BA-   20 5B FB    JSR   $FB5B    F8ROM:TABV
09BD-   A9 D5       LDA   #$D5
09BF-   20 ED FD    JSR   $FDED    F8ROM:COUT
09C2-   60          RTS

09C3-   A9 00       LDA   #$00			; EOR (Merge) routine
09C5-   85 FE       STA   $FE			; Brings $6400-$67FF
09C7-   A8          TAY				; to $400 (EOR'd)
09C8-   A5 FE       LDA   $FE
09CA-   20 47 F8    JSR   $F847    F8ROM:GBASCALC
09CD-   A5 26       LDA   $26
09CF-   85 FA       STA   $FA
09D1-   A5 27       LDA   $27
09D3-   69 60       ADC   #$60
09D5-   85 FB       STA   $FB
09D7-   B1 FA       LDA   ($FA),Y
09D9-   51 26       EOR   ($26),Y
09DB-   18          CLC
09DC-   91 26       STA   ($26),Y
09DE-   C8          INY
09DF-   C0 28       CPY   #$28
09E1-   D0 F4       BNE   $09D7
09E3-   E6 FE       INC   $FE
09E5-   A9 00       LDA   #$00
09E7-   A8          TAY
09E8-   A5 FE       LDA   $FE
09EA-   C9 14       CMP   #$14
09EC-   D0 DA       BNE   $09C8
09EE-   60          RTS

09EF-   A9 00       LDA   #$00			; Initialize M and U
09F1-   8D 5E 08    STA   $085E			; status bytes
09F4-   8D 5F 08    STA   $085F
09F7-   60          RTS

09F8-   A9 00       LDA   #$00			; Clear/blank merge buffer
09FA-   85 FE       STA   $FE
09FC-   A0 27       LDY   #$27
09FE-   A5 FE       LDA   $FE
0A00-   20 47 F8    JSR   $F847    F8ROM:GBASCALC
0A03-   A5 26       LDA   $26
0A05-   85 FA       STA   $FA
0A07-   A5 27       LDA   $27
0A09-   69 60       ADC   #$60
0A0B-   85 FB       STA   $FB
0A0D-   A9 00       LDA   #$00
0A0F-   91 FA       STA   ($FA),Y
0A11-   88          DEY
0A12-   10 F9       BPL   $0A0D
0A14-   E6 FE       INC   $FE
0A16-   A5 FE       LDA   $FE
0A18-   C9 14       CMP   #$14
0A1A-   D0 E0       BNE   $09FC
0A1C-   A9 00       LDA   #$00
0A1E-   8D 5F 08    STA   $085F			; Clear M status byte
0A21-   A9 A0       LDA   #$A0				
0A23-   8D 76 06    STA   $0676			; Clear 'M' from screen
0A26-   60          RTS

0A27-   A9 64       LDA   #$64			; Set undo checkpoint
0A29-   8D A5 08    STA   $08A5
0A2C-   20 93 08    JSR   $0893
0A2F-   A9 FF       LDA   #$FF
0A31-   8D 5E 08    STA   $085E
0A34-   20 90 09    JSR   $0990
0A37-   A9 10       LDA   #$10
0A39-   8D B8 08    STA   $08B8
0A3C-   8D B9 08    STA   $08B9
0A3F-   20 BA 08    JSR   $08BA
0A42-   A9 5C       LDA   #$5C
0A44-   8D A5 08    STA   $08A5
0A47-   60          RTS

0A48-   A9 64       LDA   #$64			; Perform an Undo
0A4A-   8D A5 08    STA   $08A5
0A4D-   A9 FA       LDA   #$FA
0A4F-   8D A9 08    STA   $08A9
0A52-   A9 26       LDA   #$26
0A54-   8D AB 08    STA   $08AB
0A57-   20 93 08    JSR   $0893
0A5A-   A9 5C       LDA   #$5C
0A5C-   8D A5 08    STA   $08A5
0A5F-   A9 26       LDA   #$26
0A61-   8D A9 08    STA   $08A9
0A64-   A9 FA       LDA   #$FA
0A66-   8D AB 08    STA   $08AB
0A69-   A9 00       LDA   #$00
0A6B-   8D 5E 08    STA   $085E
0A6E-   A9 10       LDA   #$10
0A70-   8D B8 08    STA   $08B8
0A73-   8D B9 08    STA   $08B9
0A76-   20 BA 08    JSR   $08BA
0A79-   A9 05       LDA   #$05
0A7B-   8D B8 08    STA   $08B8
0A7E-   8D B9 08    STA   $08B9
0A81-   20 BA 08    JSR   $08BA
0A84-   A9 A0       LDA   #$A0
0A86-   8D 77 06    STA   $0677
0A89-   60          RTS

0A90-   A5 FD       LDA   $FD			; Swap two colors
0A92-   20 64 F8    JSR   $F864    F8ROM:SETCOL	; color $FC becomes $FD
0A95-   A9 00       LDA   #$00			; $FC & $FD set by subroutine
0A97-   85 FA       STA   $FA			; @ $2548 prior to a JSR into
0A99-   85 FB       STA   $FB			; this routine
0A9B-   A8          TAY
0A9C-   20 71 F8    JSR   $F871    F8ROM:SCRN
0A9F-   C5 FC       CMP   $FC
0AA1-   D0 07       BNE   $0AAA
0AA3-   A5 FA       LDA   $FA
0AA5-   A4 FB       LDY   $FB
0AA7-   20 00 F8    JSR   $F800    F8ROM:PLOT
0AAA-   E6 FA       INC   $FA
0AAC-   A4 FB       LDY   $FB
0AAE-   A5 FA       LDA   $FA
0AB0-   C9 28       CMP   #$28
0AB2-   D0 E8       BNE   $0A9C
0AB4-   A9 00       LDA   #$00
0AB6-   85 FA       STA   $FA
0AB8-   E6 FB       INC   $FB
0ABA-   A5 FA       LDA   $FA
0ABC-   A4 FB       LDY   $FB
0ABE-   C0 28       CPY   #$28
0AC0-   D0 DA       BNE   $0A9C
0AC2-   60          RTS

0AC3-   8D 00 4B    STA   $4B00			; Print X, Y Coordinates
0AC6-   8C 01 4B    STY   $4B01			; for text editor screen position
0AC9-   A5 26       LDA   $26			; Stores ACCUM, Y, and GBASCALC
0ACB-   8D 02 4B    STA   $4B02			; prior to entry.
0ACE-   A5 27       LDA   $27			; Restores them all on exit
0AD0-   8D 03 4B    STA   $4B03
0AD3-   A9 03       LDA   #$03
0AD5-   85 24       STA   $24
0AD7-   A9 12       LDA   #$12
0AD9-   20 5B FB    JSR   $FB5B    F8ROM:TABV
0ADC-   A5 FC       LDA   $FC
0ADE-   20 DA FD    JSR   $FDDA    F8ROM:PRBYTE
0AE1-   A9 0A       LDA   #$0A
0AE3-   85 24       STA   $24
0AE5-   A9 12       LDA   #$12
0AE7-   20 5B FB    JSR   $FB5B    F8ROM:TABV
0AEA-   A5 FD       LDA   $FD
0AEC-   20 DA FD    JSR   $FDDA    F8ROM:PRBYTE
0AEF-   AD 03 4B    LDA   $4B03
0AF2-   85 27       STA   $27
0AF4-   AD 02 4B    LDA   $4B02
0AF7-   85 26       STA   $26
0AF9-   AD 00 4B    LDA   $4B00
0AFC-   AC 01 4B    LDY   $4B01
0AFF-   60          RTS

0B00-   A9 00       LDA   #$00			; Keywait routine
0B02-   8D 10 C0    STA   $C010    r:KBDSTRB
0B05-   18          CLC
0B06-   AD 00 C0    LDA   $C000    r:KBD  w:CLR80COL
0B09-   69 80       ADC   #$80
0B0B-   90 F8       BCC   $0B05
0B0D-   60          RTS

0B0E-   20 55 10    JSR   $1055			; Bug-fix - display color byte
0B11-   20 D2 10    JSR   $10D2			; status on Text edit exit
0B14-   60          RTS

0B15-   20 D2 10    JSR   $10D2
0B18-   20 90 09    JSR   $0990
0B1B-   60          RTS

0B1C-   A9 64       LDA   #$64			; Inital startup changed
0B1E-   8D A5 08    STA   $08A5			; Bug-fix - moves current
0B21-   20 1A 09    JSR   $091A			; Screen on startup to the
0B24-   A9 5C       LDA   #$5C			; Undo buffer, so user can
0B26-   8D A5 08    STA   $08A5			; force an undo and retrieve
0B29-   60          RTS				; current screen contents

0B2A-   A0 27       LDY   #$27			; Displays right side
0B2C-   B9 00 30    LDA   $3000,Y		; 'cap' to merge buffer
0B2F-   99 39 06    STA   $0639,Y		; text ']'
0B32-   B9 80 30    LDA   $3080,Y
0B35-   99 B9 06    STA   $06B9,Y
0B38-   B9 00 31    LDA   $3100,Y
0B3B-   99 39 07    STA   $0739,Y
0B3E-   B9 80 31    LDA   $3180,Y
0B41-   99 B9 07    STA   $07B9,Y
0B44-   88          DEY
0B45-   C0 25       CPY   #$25
0B47-   D0 E3       BNE   $0B2C
0B49-   A9 00       LDA   #$00
0B4B-   8D 10 C0    STA   $C010    r:KBDSTRB
0B4E-   60          RTS

0B4F-   B9 50 30    LDA   $3050,Y		; More text to screen without
0B52-   99 50 06    STA   $0650,Y		; wasting a bunch of time in
0B55-   B9 D0 30    LDA   $30D0,Y		; endless loops JSRing to $FDED
0B58-   99 D0 06    STA   $06D0,Y
0B5B-   B9 50 31    LDA   $3150,Y
0B5E-   99 50 07    STA   $0750,Y
0B61-   B9 D0 31    LDA   $31D0,Y
0B64-   99 D0 07    STA   $07D0,Y
0B67-   88          DEY
0B68-   10 E5       BPL   $0B4F
0B6A-   60          RTS

0C00-0FFF - Title page storage


Subroutines
-------------------------------------------------------------------------
1000-   8D 50 C0    STA   $C050    rw:TXTCLR	; Set GR Mode
1003-   8D 53 C0    STA   $C053    rw:MIXSET
1006-   8D 54 C0    STA   $C054    rw:TXTPAGE1
1009-   8D 56 C0    STA   $C056    rw:LORES
100C-   A9 14       LDA   #$14
100E-   85 22       STA   $22			; Set scroll area
1010-   60          RTS

1011-   A2 00       LDX   #$00			; Clear GR screen
1013-   86 FA       STX   $FA
1015-   8A          TXA
1016-   20 47 F8    JSR   $F847    F8ROM:GBASCALC
1019-   8A          TXA
101A-   A0 27       LDY   #$27
101C-   91 26       STA   ($26),Y
101E-   88          DEY
101F-   10 FB       BPL   $101C
1021-   E6 FA       INC   $FA
1023-   A5 FA       LDA   $FA
1025-   C9 14       CMP   #$14
1027-   D0 ED       BNE   $1016
1029-   60          RTS

102A-   A9 14       LDA   #$14			; Setup variables
102C-   85 06       STA   $06			; X-Coord
102E-   85 07       STA   $07			; Y-Coord
1030-   A9 0F       LDA   #$0F
1032-   85 08       STA   $08			; Color variable
1034-   A9 00       LDA   #$00
1036-   85 09       STA   $09			; Plot flag
1038-   60          RTS

1039-   A9 17       LDA   #$17			; Print '?-Help'
103B-   20 47 F8    JSR   $F847    F8ROM:GBASCALC
103E-   A0 27       LDY   #$27
1040-   A2 00       LDX   #$00
1042-   BD 4E 10    LDA   $104E,X
1045-   91 26       STA   ($26),Y
1047-   88          DEY
1048-   E8          INX
1049-   E0 06       CPX   #$06
104B-   D0 F5       BNE   $1042
104D-   60          RTS
104E-   F0 EC E5 C8 AD BF 00			; ASCII 'pleH-?'

1055-   A0 27       LDY   #$27			; Display X> Y> PLot>
1057-   B9 00 32    LDA   $3200,Y		; Col> to text area
105A-   99 50 06    STA   $0650,Y
105D-   B9 80 32    LDA   $3280,Y
1060-   99 D0 06    STA   $06D0,Y
1063-   B9 00 33    LDA   $3300,Y
1066-   99 50 07    STA   $0750,Y
1069-   B9 80 33    LDA   $3380,Y
106C-   99 D0 07    STA   $07D0,Y
106F-   88          DEY
1070-   10 E5       BPL   $1057
1072-   60          RTS

108A-   A9 05       LDA   #$05			; Print X, Y, Plot status
108C-   85 24       STA   $24
108E-   A9 16       LDA   #$16
1090-   20 5B FB    JSR   $FB5B    F8ROM:TABV
1093-   A5 06       LDA   $06
1095-   20 DA FD    JSR   $FDDA    F8ROM:PRBYTE
1098-   A9 0B       LDA   #$0B
109A-   85 24       STA   $24
109C-   A9 16       LDA   #$16
109E-   20 5B FB    JSR   $FB5B    F8ROM:TABV
10A1-   A5 07       LDA   $07
10A3-   20 DA FD    JSR   $FDDA    F8ROM:PRBYTE
10A6-   A5 09       LDA   $09
10A8-   D0 14       BNE   $10BE
10AA-   A9 15       LDA   #$15
10AC-   85 24       STA   $24
10AE-   A9 16       LDA   #$16
10B0-   20 5B FB    JSR   $FB5B    F8ROM:TABV
10B3-   A9 E6       LDA   #$E6
10B5-   20 ED FD    JSR   $FDED    F8ROM:COUT
10B8-   A9 E6       LDA   #$E6
10BA-   20 ED FD    JSR   $FDED    F8ROM:COUT
10BD-   60          RTS
10BE-   A9 15       LDA   #$15
10C0-   85 24       STA   $24
10C2-   A9 16       LDA   #$16
10C4-   20 5B FB    JSR   $FB5B    F8ROM:TABV
10C7-   A9 EE       LDA   #$EE
10C9-   20 ED FD    JSR   $FDED    F8ROM:COUT
10CC-   A9 A0       LDA   #$A0
10CE-   20 ED FD    JSR   $FDED    F8ROM:COUT
10D1-   60          RTS

10D2-   A9 05       LDA   #$05			; Print 'color byte' entry point
10D4-   8D B8 08    STA   $08B8			; Sets tone data and then
10D7-   8D B9 08    STA   $08B9			; JSRs to tone routine
10DA-   20 BA 08    JSR   $08BA			; & JSRs to print color byte	
10DD-   20 CF 08    JSR   $08CF			; (actual status)
10E0-   60          RTS

10E1-   A5 07       LDA   $07			; Blink/Plot Cursor
10E3-   A4 06       LDY   $06
10E5-   20 71 F8    JSR   $F871    F8ROM:SCRN
10E8-   85 FA       STA   $FA
10EA-   49 0F       EOR   #$0F
10EC-   EA          NOP
10ED-   EA          NOP
10EE-   20 64 F8    JSR   $F864    F8ROM:SETCOL
10F1-   A5 07       LDA   $07
10F3-   A4 06       LDY   $06
10F5-   20 00 F8    JSR   $F800    F8ROM:PLOT
10F8-   A5 FA       LDA   $FA
10FA-   20 64 F8    JSR   $F864    F8ROM:SETCOL
10FD-   A5 07       LDA   $07
10FF-   A4 06       LDY   $06
1101-   20 00 F8    JSR   $F800    F8ROM:PLOT
1104-   A5 09       LDA   $09			; Check plot status
1106-   D0 01       BNE   $1109			; BNE - plot is on
1108-   60          RTS				; RTS - plot is off
1109-   A5 08       LDA   $08 
110B-   20 64 F8    JSR   $F864    F8ROM:SETCOL	; Set color
110E-   A5 07       LDA   $07			; Load Y-Coord
1110-   A4 06       LDY   $06			; Load X-Coord
1112-   20 00 F8    JSR   $F800    F8ROM:PLOT	; Plot dot
1115-   60          RTS

1116-   18          CLC				; Clear carry
1117-   AD 00 C0    LDA   $C000    r:KBD  w:CLR80COL	
111A-   69 80       ADC   #$80			; Check keyboard
111C-   90 03       BCC   $1121			; BCC = No keypress
111E-   20 22 11    JSR   $1122			; JSR = keypress
1121-   60          RTS

1122-   AD 10 C0    LDA   $C010    r:KBDSTRB	; Determine key
1125-   85 00       STA   $00			; and do function

1127-   C9 88       CMP   #$88			; <-- 
1129-   D0 10       BNE   $113B			; Decrement color
112B-   C6 08       DEC   $08
112D-   A5 08       LDA   $08
112F-   C9 FF       CMP   #$FF
1131-   D0 04       BNE   $1137
1133-   A9 0F       LDA   #$0F
1135-   85 08       STA   $08
1137-   20 D2 10    JSR   $10D2
113A-   60          RTS

113B-   C9 95       CMP   #$95			; -->
113D-   D0 10       BNE   $114F			; Increment color
113F-   E6 08       INC   $08
1141-   A5 08       LDA   $08
1143-   C9 10       CMP   #$10
1145-   D0 04       BNE   $114B
1147-   A9 00       LDA   #$00
1149-   85 08       STA   $08
114B-   20 D2 10    JSR   $10D2
114E-   60          RTS

114F-   C9 D3       CMP   #$D3			; S
1151-   D0 10       BNE   $1163			; Change plot status
1153-   C6 09       DEC   $09
1155-   A5 09       LDA   $09
1157-   C9 FF       CMP   #$FF
1159-   D0 04       BNE   $115F
115B-   A9 01       LDA   #$01
115D-   85 09       STA   $09
115F-   20 A6 10    JSR   $10A6
1162-   60          RTS

1163-   C9 D7       CMP   #$D7			; W
1165-   D0 10       BNE   $1177			; Cursor up
1167-   C6 07       DEC   $07
1169-   A5 07       LDA   $07
116B-   C9 FF       CMP   #$FF
116D-   D0 04       BNE   $1173
116F-   A9 27       LDA   #$27
1171-   85 07       STA   $07
1173-   20 8A 10    JSR   $108A
1176-   60          RTS

1177-   C9 C1       CMP   #$C1			; A
1179-   D0 10       BNE   $118B			; Cursor left
117B-   C6 06       DEC   $06
117D-   A5 06       LDA   $06
117F-   C9 FF       CMP   #$FF
1181-   D0 04       BNE   $1187
1183-   A9 27       LDA   #$27
1185-   85 06       STA   $06
1187-   20 8A 10    JSR   $108A
118A-   60          RTS

118B-   C9 C4       CMP   #$C4			; D
118D-   D0 10       BNE   $119F			; Cursor right
118F-   E6 06       INC   $06
1191-   A5 06       LDA   $06
1193-   C9 28       CMP   #$28
1195-   D0 04       BNE   $119B
1197-   A9 00       LDA   #$00
1199-   85 06       STA   $06
119B-   20 8A 10    JSR   $108A
119E-   60          RTS

119F-   C9 D8       CMP   #$D8			; X
11A1-   D0 10       BNE   $11B3			; Cursor down
11A3-   E6 07       INC   $07
11A5-   A5 07       LDA   $07
11A7-   C9 28       CMP   #$28
11A9-   D0 04       BNE   $11AF
11AB-   A9 00       LDA   #$00
11AD-   85 07       STA   $07
11AF-   20 8A 10    JSR   $108A
11B2-   60          RTS

11B3-   C9 D1       CMP   #$D1			; Q
11B5-   D0 1C       BNE   $11D3			; Cursor up + left
11B7-   C6 06       DEC   $06
11B9-   C6 07       DEC   $07
11BB-   A5 06       LDA   $06
11BD-   C9 FF       CMP   #$FF
11BF-   D0 04       BNE   $11C5
11C1-   A9 27       LDA   #$27
11C3-   85 06       STA   $06
11C5-   A5 07       LDA   $07
11C7-   C9 FF       CMP   #$FF
11C9-   D0 04       BNE   $11CF
11CB-   A9 27       LDA   #$27
11CD-   85 07       STA   $07
11CF-   20 8A 10    JSR   $108A
11D2-   60          RTS

11D3-   C9 C5       CMP   #$C5			; E
11D5-   D0 1C       BNE   $11F3			; Cursor up + right
11D7-   E6 06       INC   $06
11D9-   C6 07       DEC   $07
11DB-   A5 06       LDA   $06
11DD-   C9 28       CMP   #$28
11DF-   D0 04       BNE   $11E5
11E1-   A9 00       LDA   #$00
11E3-   85 06       STA   $06
11E5-   A5 07       LDA   $07
11E7-   C9 FF       CMP   #$FF
11E9-   D0 04       BNE   $11EF
11EB-   A9 27       LDA   #$27
11ED-   85 07       STA   $07
11EF-   20 8A 10    JSR   $108A
11F2-   60          RTS

11F3-   C9 DA       CMP   #$DA			; Z
11F5-   D0 1C       BNE   $1213			; Cursor down + left
11F7-   C6 06       DEC   $06
11F9-   E6 07       INC   $07
11FB-   A5 06       LDA   $06
11FD-   C9 FF       CMP   #$FF
11FF-   D0 04       BNE   $1205
1201-   A9 27       LDA   #$27
1203-   85 06       STA   $06
1205-   A5 07       LDA   $07
1207-   C9 28       CMP   #$28
1209-   D0 04       BNE   $120F
120B-   A9 00       LDA   #$00
120D-   85 07       STA   $07
120F-   20 8A 10    JSR   $108A
1212-   60          RTS

1213-   C9 C3       CMP   #$C3			; C
1215-   D0 1C       BNE   $1233			; Cursor down + right
1217-   E6 06       INC   $06
1219-   E6 07       INC   $07
121B-   A5 06       LDA   $06
121D-   C9 28       CMP   #$28
121F-   D0 04       BNE   $1225
1221-   A9 00       LDA   #$00
1223-   85 06       STA   $06
1225-   A5 07       LDA   $07
1227-   C9 28       CMP   #$28
1229-   D0 04       BNE   $122F
122B-   A9 00       LDA   #$00
122D-   85 07       STA   $07
122F-   20 8A 10    JSR   $108A
1232-   60          RTS

1233-   C9 C9       CMP   #$C9			; I
1235-   D0 20       BNE   $1257			; Inverse Screen
1237-   A9 00       LDA   #$00
1239-   85 FC       STA   $FC
123B-   A5 FC       LDA   $FC
123D-   20 47 F8    JSR   $F847    F8ROM:GBASCALC
1240-   A0 00       LDY   #$00
1242-   18          CLC
1243-   A9 FF       LDA   #$FF
1245-   51 26       EOR   ($26),Y
1247-   91 26       STA   ($26),Y
1249-   C8          INY
124A-   C0 28       CPY   #$28
124C-   D0 F4       BNE   $1242
124E-   E6 FC       INC   $FC
1250-   A5 FC       LDA   $FC
1252-   C9 14       CMP   #$14
1254-   D0 E7       BNE   $123D
1256-   60          RTS

1257-   C9 C8       CMP   #$C8			; H
1259-   D0 38       BNE   $1293			; Horizontal flip
125B-   A9 00       LDA   #$00			; of screen
125D-   85 FA       STA   $FA
125F-   85 FB       STA   $FB
1261-   A0 27       LDY   #$27
1263-   84 FC       STY   $FC
1265-   20 47 F8    JSR   $F847    F8ROM:GBASCALC
1268-   B1 26       LDA   ($26),Y
126A-   85 FD       STA   $FD
126C-   A4 FB       LDY   $FB
126E-   B1 26       LDA   ($26),Y
1270-   A4 FC       LDY   $FC
1272-   91 26       STA   ($26),Y
1274-   A5 FD       LDA   $FD
1276-   A4 FB       LDY   $FB
1278-   91 26       STA   ($26),Y
127A-   E6 FB       INC   $FB
127C-   C6 FC       DEC   $FC
127E-   A4 FC       LDY   $FC
1280-   A5 FB       LDA   $FB
1282-   C9 14       CMP   #$14
1284-   D0 E2       BNE   $1268
1286-   E6 FA       INC   $FA
1288-   A9 00       LDA   #$00
128A-   85 FB       STA   $FB
128C-   A5 FA       LDA   $FA
128E-   C9 14       CMP   #$14
1290-   D0 CF       BNE   $1261
1292-   60          RTS

1293-   C9 BE       CMP   #$BE			; >
1295-   D0 04       BNE   $129B
1297-   20 00 1C    JSR   $1C00			; CW rotate of screen
129A-   60          RTS

129B-   C9 BC       CMP   #$BC			; <
129D-   D0 04       BNE   $12A3
129F-   20 AD 1C    JSR   $1CAD			; CCW rotate of screen
12A2-   60          RTS

12A3-   C9 CA       CMP   #$CA			; J
12A5-   D0 04       BNE   $12AB
12A7-   20 5A 1D    JSR   $1D5A			; Vertical flip of screen
12AA-   60          RTS

12AB-   C9 84       CMP   #$84			; Ctrl-D
12AD-   D0 04       BNE   $12B3
12AF-   20 A5 1D    JSR   $1DA5			; Move screen right
12B2-   60          RTS

12B3-   C9 81       CMP   #$81			; Ctrl-A
12B5-   D0 04       BNE   $12BB
12B7-   20 CA 1D    JSR   $1DCA			; Move screen left
12BA-   60          RTS

12BB-   C9 97       CMP   #$97			; Ctrl-W
12BD-   D0 04       BNE   $12C3
12BF-   20 F1 1D    JSR   $1DF1			; Move screen up
12C2-   60          RTS

12C3-   C9 98       CMP   #$98			; Ctrl-X
12C5-   D0 04       BNE   $12CB
12C7-   20 55 1E    JSR   $1E55			; Move screen down
12CA-   60          RTS

12CB-   C9 91       CMP   #$91			; Ctrl-Q
12CD-   D0 04       BNE   $12D3
12CF-   20 C1 1E    JSR   $1EC1			; Move screen up
12D2-   60          RTS				; and left

12D3-   C9 85       CMP   #$85			; Ctrl-E
12D5-   D0 04       BNE   $12DB
12D7-   20 C8 1E    JSR   $1EC8			; Move screen up
12DA-   60          RTS				; and right

12DB-   C9 9A       CMP   #$9A			; Ctrl-Z
12DD-   D0 04       BNE   $12E3
12DF-   20 CF 1E    JSR   $1ECF			; Move screen down
12E2-   60          RTS				; and left

12E3-   C9 03       CMP   #$03			; Ctrl-C
12E5-   D0 04       BNE   $12EB
12E7-   20 D6 1E    JSR   $1ED6			; Move screen down
12EA-   60          RTS				; and right

12EB-   C9 AF       CMP   #$AF			; /
12ED-   D0 04       BNE   $12F3
12EF-   20 DD 1E    JSR   $1EDD			; Display color chart
12F2-   60          RTS

12F3-   C9 BF       CMP   #$BF			; ?
12F5-   D0 04       BNE   $12FB
12F7-   20 35 1F    JSR   $1F35			; Display command chart
12FA-   60          RTS

12FB-   C9 9B       CMP   #$9B			; 'ESC'
12FD-   D0 04       BNE   $1303
12FF-   20 93 1F    JSR   $1F93			; Exit?
1302-   60          RTS

1303-   C9 AD       CMP   #$AD			; -
1305-   D0 04       BNE   $130B
1307-   20 00 24    JSR   $2400			; Store to merge ($0400>$6400)
130A-   60          RTS

130B-   C9 AB       CMP   #$AB			; +
130D-   D0 04       BNE   $1313
130F-   20 C3 09    JSR   $09C3			; Merge to screen ($6400>$0400)
1312-   60          RTS

1313-   C9 CE       CMP   #$CE			; N
1315-   D0 04       BNE   $131B
1317-   20 16 24    JSR   $2416			; New drawing?
131A-   60          RTS

131B-   C9 82       CMP   #$82			; ^B
131D-   D0 04       BNE   $1323
131F-   20 F8 09    JSR   $09F8			; Clear merge buffer
1322-   60          RTS

1323-   C9 D9       CMP   #$D9			; Y
1325-   D0 04       BNE   $132B
1327-   20 27 0A    JSR   $0A27			; Set undo checkpoint
132A-   60          RTS

132B-   C9 D5       CMP   #$D5			; U
132D-   D0 0B       BNE   $133A
132F-   AD 5E 08    LDA   $085E
1332-   C9 FF       CMP   #$FF			; Ensure undo buffer isn't blank
1334-   D0 03       BNE   $1339
1336-   20 48 0A    JSR   $0A48			; Do an undo
1339-   60

133A-   C9 C2       CMP   #$C2			; B
133C-   D0 04       BNE   $1342
133E-   20 AC 1C    JSR   $2494 		; View E/M/U buffers
1341-   60          RTS

1342-   C9 89       CMP   #$89			; ^I  [TAB]
1344-   D0 04       BNE   $134A			; [ Not in current build ]
1346-   20 AC 1C    JSR   $1CAC			; ~~~~~~~~~AuxRAM manager
1349-   60          RTS

134A-   C9 D0       CMP   #$D0			; P
134C-   D0 04       BNE   $1352
134E-   20 DF 2E    JSR   $2EDF			; ProDOS file handler
1351-   60          RTS

1352-   C9 93       CMP   #$93			; ^S
1354-   D0 04       BNE   $135A
1356-   20 AC 1C    JSR   $2548			; Swap two colors
1359-   60          RTS

135A-   C9 94       CMP   #$94			; ^T
135C-   D0 04       BNE   $1362
135E-   20 48 26    JSR   $2648			; Text editor, bottom 4-lines
1361-   60          RTS

1362-   C9 D4       CMP   #$D4			; T
1364-   D0 04       BNE   $136A
1366-   20 EF 27    JSR   $27EF			; Display text, wait for keypress
1369-   60          RTS 

136A-   C9 AA       CMP   #$AA			; *
136C-   D0 04       BNE   $1372
136E-   20 48 0A    JSR   $0A48			; Force UNDO, ignore undo status
1371-   60          RTS

1372-   60          RTS

1400-17FF - Help screen / command chart
1800-1BFF - Color codes in graphical format


Secondary Subroutines
---------------------------------------------------------------------------
1C00-   A9 00       LDA   #$00			; CW rotate of scrn
1C02-   A2 0F       LDX   #$0F
1C04-   B5 F0       LDA   $F0,X
1C06-   9D F0 02    STA   $02F0,X
1C09-   CA          DEX
1C0A-   E0 FF       CPX   #$FF
1C0C-   D0 F6       BNE   $1C04
1C0E-   A9 00       LDA   #$00
1C10-   85 F4       STA   $F4
1C12-   85 F5       STA   $F5
1C14-   85 F7       STA   $F7
1C16-   85 FA       STA   $FA
1C18-   A9 27       LDA   #$27
1C1A-   85 F6       STA   $F6
1C1C-   85 F8       STA   $F8
1C1E-   85 F9       STA   $F9
1C20-   85 FB       STA   $FB
1C22-   A4 F4       LDY   $F4
1C24-   A5 F5       LDA   $F5
1C26-   20 71 F8    JSR   $F871    F8ROM:SCRN
1C29-   85 FC       STA   $FC
1C2B-   A4 F6       LDY   $F6
1C2D-   A5 F7       LDA   $F7
1C2F-   20 71 F8    JSR   $F871    F8ROM:SCRN
1C32-   85 FD       STA   $FD
1C34-   A4 F8       LDY   $F8
1C36-   A5 F9       LDA   $F9
1C38-   20 71 F8    JSR   $F871    F8ROM:SCRN
1C3B-   85 FE       STA   $FE
1C3D-   A4 FA       LDY   $FA
1C3F-   A5 FB       LDA   $FB
1C41-   20 71 F8    JSR   $F871    F8ROM:SCRN
1C44-   85 FF       STA   $FF
1C46-   A5 FC       LDA   $FC
1C48-   20 64 F8    JSR   $F864    F8ROM:SETCOL
1C4B-   A4 F6       LDY   $F6
1C4D-   A5 F7       LDA   $F7
1C4F-   20 00 F8    JSR   $F800    F8ROM:PLOT
1C52-   A5 FD       LDA   $FD
1C54-   20 64 F8    JSR   $F864    F8ROM:SETCOL
1C57-   A4 F8       LDY   $F8
1C59-   A5 F9       LDA   $F9
1C5B-   20 00 F8    JSR   $F800    F8ROM:PLOT
1C5E-   A5 FE       LDA   $FE
1C60-   20 64 F8    JSR   $F864    F8ROM:SETCOL
1C63-   A4 FA       LDY   $FA
1C65-   A5 FB       LDA   $FB
1C67-   20 00 F8    JSR   $F800    F8ROM:PLOT
1C6A-   A5 FF       LDA   $FF
1C6C-   20 64 F8    JSR   $F864    F8ROM:SETCOL
1C6F-   A4 F4       LDY   $F4
1C71-   A5 F5       LDA   $F5
1C73-   20 00 F8    JSR   $F800    F8ROM:PLOT
1C76-   E6 F4       INC   $F4
1C78-   E6 F7       INC   $F7
1C7A-   C6 F8       DEC   $F8
1C7C-   C6 FB       DEC   $FB
1C7E-   A5 F4       LDA   $F4
1C80-   C9 14       CMP   #$14
1C82-   D0 9E       BNE   $1C22
1C84-   A9 00       LDA   #$00
1C86-   85 F4       STA   $F4
1C88-   85 F7       STA   $F7
1C8A-   A9 27       LDA   #$27
1C8C-   85 F8       STA   $F8
1C8E-   85 FB       STA   $FB
1C90-   E6 F5       INC   $F5
1C92-   E6 FA       INC   $FA
1C94-   C6 F6       DEC   $F6
1C96-   C6 F9       DEC   $F9
1C98-   A5 F5       LDA   $F5
1C9A-   C9 14       CMP   #$14
1C9C-   D0 E4       BNE   $1C82
1C9E-   A9 00       LDA   #$00
1CA0-   A2 0F       LDX   #$0F
1CA2-   BD F0 02    LDA   $02F0,X
1CA5-   95 F0       STA   $F0,X
1CA7-   CA          DEX
1CA8-   E0 FF       CPX   #$FF
1CAA-   D0 F6       BNE   $1CA2
1CAC-   60          RTS

1CAD-   A9 00       LDA   #$00			; CCW rotate of scrn
1CAF-   A2 0F       LDX   #$0F
1CB1-   B5 F0       LDA   $F0,X
1CB3-   9D F0 02    STA   $02F0,X
1CB6-   CA          DEX
1CB7-   E0 FF       CPX   #$FF
1CB9-   D0 F6       BNE   $1CB1
1CBB-   A9 00       LDA   #$00
1CBD-   85 F4       STA   $F4
1CBF-   85 F5       STA   $F5
1CC1-   85 F7       STA   $F7
1CC3-   85 FA       STA   $FA
1CC5-   A9 27       LDA   #$27
1CC7-   85 F6       STA   $F6
1CC9-   85 F8       STA   $F8
1CCB-   85 F9       STA   $F9
1CCD-   85 FB       STA   $FB
1CCF-   A4 F4       LDY   $F4
1CD1-   A5 F5       LDA   $F5
1CD3-   20 71 F8    JSR   $F871    F8ROM:SCRN
1CD6-   85 FC       STA   $FC
1CD8-   A4 F6       LDY   $F6
1CDA-   A5 F7       LDA   $F7
1CDC-   20 71 F8    JSR   $F871    F8ROM:SCRN
1CDF-   85 FD       STA   $FD
1CE1-   A4 F8       LDY   $F8
1CE3-   A5 F9       LDA   $F9
1CE5-   20 71 F8    JSR   $F871    F8ROM:SCRN
1CE8-   85 FE       STA   $FE
1CEA-   A4 FA       LDY   $FA
1CEC-   A5 FB       LDA   $FB
1CEE-   20 71 F8    JSR   $F871    F8ROM:SCRN
1CF1-   85 FF       STA   $FF
1CF3-   A5 FE       LDA   $FE
1CF5-   20 64 F8    JSR   $F864    F8ROM:SETCOL
1CF8-   A4 F6       LDY   $F6
1CFA-   A5 F7       LDA   $F7
1CFC-   20 00 F8    JSR   $F800    F8ROM:PLOT
1CFF-   A5 FF       LDA   $FF
1D01-   20 64 F8    JSR   $F864    F8ROM:SETCOL
1D04-   A4 F8       LDY   $F8
1D06-   A5 F9       LDA   $F9
1D08-   20 00 F8    JSR   $F800    F8ROM:PLOT
1D0B-   A5 FC       LDA   $FC
1D0D-   20 64 F8    JSR   $F864    F8ROM:SETCOL
1D10-   A4 FA       LDY   $FA
1D12-   A5 FB       LDA   $FB
1D14-   20 00 F8    JSR   $F800    F8ROM:PLOT
1D17-   A5 FD       LDA   $FD
1D19-   20 64 F8    JSR   $F864    F8ROM:SETCOL
1D1C-   A4 F4       LDY   $F4
1D1E-   A5 F5       LDA   $F5
1D20-   20 00 F8    JSR   $F800    F8ROM:PLOT
1D23-   E6 F4       INC   $F4
1D25-   E6 F7       INC   $F7
1D27-   C6 F8       DEC   $F8
1D29-   C6 FB       DEC   $FB
1D2B-   A5 F4       LDA   $F4
1D2D-   C9 14       CMP   #$14
1D2F-   D0 9E       BNE   $1CCF
1D31-   A9 00       LDA   #$00
1D33-   85 F4       STA   $F4
1D35-   85 F7       STA   $F7
1D37-   A9 27       LDA   #$27
1D39-   85 F8       STA   $F8
1D3B-   85 FB       STA   $FB
1D3D-   E6 F5       INC   $F5
1D3F-   E6 FA       INC   $FA
1D41-   C6 F6       DEC   $F6
1D43-   C6 F9       DEC   $F9
1D45-   A5 F5       LDA   $F5
1D47-   C9 14       CMP   #$14
1D49-   D0 E4       BNE   $1D2F
1D4B-   A9 00       LDA   #$00
1D4D-   A2 0F       LDX   #$0F
1D4F-   BD F0 02    LDA   $02F0,X
1D52-   95 F0       STA   $F0,X
1D54-   CA          DEX
1D55-   E0 FF       CPX   #$FF
1D57-   D0 F6       BNE   $1D4F
1D59-   60          RTS

1D5A-   A9 00       LDA   #$00			; Vertical flip of screen
1D5C-   85 FA       STA   $FA
1D5E-   85 FB       STA   $FB
1D60-   85 FC       STA   $FC
1D62-   A9 27       LDA   #$27
1D64-   85 FD       STA   $FD
1D66-   A4 FA       LDY   $FA
1D68-   A5 FB       LDA   $FB
1D6A-   20 71 F8    JSR   $F871    F8ROM:SCRN
1D6D-   AA          TAX
1D6E-   A4 FC       LDY   $FC
1D70-   A5 FD       LDA   $FD
1D72-   20 71 F8    JSR   $F871    F8ROM:SCRN
1D75-   20 64 F8    JSR   $F864    F8ROM:SETCOL
1D78-   A4 FA       LDY   $FA
1D7A-   A5 FB       LDA   $FB
1D7C-   20 00 F8    JSR   $F800    F8ROM:PLOT
1D7F-   8A          TXA
1D80-   20 64 F8    JSR   $F864    F8ROM:SETCOL
1D83-   A4 FC       LDY   $FC
1D85-   A5 FD       LDA   $FD
1D87-   20 00 F8    JSR   $F800    F8ROM:PLOT
1D8A-   E6 FA       INC   $FA
1D8C-   E6 FC       INC   $FC
1D8E-   A5 FA       LDA   $FA
1D90-   C9 28       CMP   #$28
1D92-   D0 D2       BNE   $1D66
1D94-   A9 00       LDA   #$00
1D96-   85 FA       STA   $FA
1D98-   85 FC       STA   $FC
1D9A-   E6 FB       INC   $FB
1D9C-   C6 FD       DEC   $FD
1D9E-   A5 FB       LDA   $FB
1DA0-   C9 14       CMP   #$14
1DA2-   D0 C2       BNE   $1D66
1DA4-   60          RTS

1DA5-   A9 00       LDA   #$00			; Move screen right
1DA7-   85 FE       STA   $FE
1DA9-   A5 FE       LDA   $FE
1DAB-   20 47 F8    JSR   $F847    F8ROM:GBASCALC
1DAE-   A0 27       LDY   #$27
1DB0-   B1 26       LDA   ($26),Y
1DB2-   85 FD       STA   $FD
1DB4-   88          DEY
1DB5-   B1 26       LDA   ($26),Y
1DB7-   C8          INY
1DB8-   91 26       STA   ($26),Y
1DBA-   88          DEY
1DBB-   D0 F7       BNE   $1DB4
1DBD-   A5 FD       LDA   $FD
1DBF-   91 26       STA   ($26),Y
1DC1-   E6 FE       INC   $FE
1DC3-   A5 FE       LDA   $FE
1DC5-   C9 14       CMP   #$14
1DC7-   D0 E2       BNE   $1DAB
1DC9-   60          RTS

1DCA-   A9 00       LDA   #$00			; Move screen left
1DCC-   85 FE       STA   $FE
1DCE-   A5 FE       LDA   $FE
1DD0-   20 47 F8    JSR   $F847    F8ROM:GBASCALC
1DD3-   A0 00       LDY   #$00
1DD5-   B1 26       LDA   ($26),Y
1DD7-   85 FD       STA   $FD
1DD9-   C8          INY
1DDA-   B1 26       LDA   ($26),Y
1DDC-   88          DEY
1DDD-   91 26       STA   ($26),Y
1DDF-   C8          INY
1DE0-   C0 27       CPY   #$27
1DE2-   D0 F5       BNE   $1DD9
1DE4-   A5 FD       LDA   $FD
1DE6-   91 26       STA   ($26),Y
1DE8-   E6 FE       INC   $FE
1DEA-   A5 FE       LDA   $FE
1DEC-   C9 14       CMP   #$14
1DEE-   D0 E0       BNE   $1DD0
1DF0-   60          RTS

1DF1-   A9 00       LDA   #$00			; Move screen up
1DF3-   A8          TAY
1DF4-   85 FC       STA   $FC
1DF6-   85 FD       STA   $FD
1DF8-   AA          TAX
1DF9-   A4 FC       LDY   $FC
1DFB-   A5 FD       LDA   $FD
1DFD-   20 71 F8    JSR   $F871    F8ROM:SCRN
1E00-   9D 00 4B    STA   $4B00,X
1E03-   E6 FC       INC   $FC
1E05-   E8          INX
1E06-   E0 28       CPX   #$28
1E08-   D0 EF       BNE   $1DF9
1E0A-   A9 00       LDA   #$00
1E0C-   A8          TAY
1E0D-   85 FC       STA   $FC
1E0F-   AA          TAX
1E10-   E6 FD       INC   $FD
1E12-   A4 FC       LDY   $FC
1E14-   A5 FD       LDA   $FD
1E16-   20 71 F8    JSR   $F871    F8ROM:SCRN
1E19-   20 64 F8    JSR   $F864    F8ROM:SETCOL
1E1C-   C6 FD       DEC   $FD
1E1E-   A4 FC       LDY   $FC
1E20-   A5 FD       LDA   $FD
1E22-   20 00 F8    JSR   $F800    F8ROM:PLOT
1E25-   E6 FD       INC   $FD
1E27-   E6 FC       INC   $FC
1E29-   A6 FC       LDX   $FC
1E2B-   E0 28       CPX   #$28
1E2D-   D0 E3       BNE   $1E12
1E2F-   A9 00       LDA   #$00
1E31-   A8          TAY
1E32-   85 FC       STA   $FC
1E34-   A5 FD       LDA   $FD
1E36-   C9 27       CMP   #$27
1E38-   D0 D6       BNE   $1E10
1E3A-   A9 00       LDA   #$00
1E3C-   AA          TAX
1E3D-   85 FC       STA   $FC
1E3F-   A8          TAY
1E40-   BD 00 4B    LDA   $4B00,X
1E43-   20 64 F8    JSR   $F864    F8ROM:SETCOL
1E46-   A5 FD       LDA   $FD
1E48-   A4 FC       LDY   $FC
1E4A-   20 00 F8    JSR   $F800    F8ROM:PLOT
1E4D-   E6 FC       INC   $FC
1E4F-   E8          INX
1E50-   E0 28       CPX   #$28
1E52-   D0 EC       BNE   $1E40
1E54-   60          RTS

1E55-   A9 27       LDA   #$27			; Move screen down
1E57-   A0 00       LDY   #$00
1E59-   85 FD       STA   $FD
1E5B-   84 FC       STY   $FC
1E5D-   A2 00       LDX   #$00
1E5F-   20 71 F8    JSR   $F871    F8ROM:SCRN
1E62-   9D 00 4B    STA   $4B00,X
1E65-   E6 FC       INC   $FC
1E67-   E8          INX
1E68-   A4 FC       LDY   $FC
1E6A-   A5 FD       LDA   $FD
1E6C-   E0 28       CPX   #$28
1E6E-   D0 EF       BNE   $1E5F
1E70-   A9 26       LDA   #$26
1E72-   A0 00       LDY   #$00
1E74-   A2 00       LDX   #$00
1E76-   85 FD       STA   $FD
1E78-   84 FC       STY   $FC
1E7A-   20 71 F8    JSR   $F871    F8ROM:SCRN
1E7D-   20 64 F8    JSR   $F864    F8ROM:SETCOL
1E80-   E6 FD       INC   $FD
1E82-   A4 FC       LDY   $FC
1E84-   A5 FD       LDA   $FD
1E86-   20 00 F8    JSR   $F800    F8ROM:PLOT
1E89-   C6 FD       DEC   $FD
1E8B-   E6 FC       INC   $FC
1E8D-   A6 FC       LDX   $FC
1E8F-   A4 FC       LDY   $FC
1E91-   A5 FD       LDA   $FD
1E93-   E0 28       CPX   #$28
1E95-   D0 E3       BNE   $1E7A
1E97-   A0 00       LDY   #$00
1E99-   84 FC       STY   $FC
1E9B-   C6 FD       DEC   $FD
1E9D-   A4 FC       LDY   $FC
1E9F-   A5 FD       LDA   $FD
1EA1-   C9 FF       CMP   #$FF
1EA3-   D0 D5       BNE   $1E7A
1EA5-   A9 00       LDA   #$00
1EA7-   85 FC       STA   $FC
1EA9-   85 FD       STA   $FD
1EAB-   AA          TAX
1EAC-   BD 00 4B    LDA   $4B00,X
1EAF-   20 64 F8    JSR   $F864    F8ROM:SETCOL
1EB2-   A5 FD       LDA   $FD
1EB4-   A4 FC       LDY   $FC
1EB6-   20 00 F8    JSR   $F800    F8ROM:PLOT
1EB9-   E6 FC       INC   $FC
1EBB-   E8          INX
1EBC-   E0 28       CPX   #$28
1EBE-   D0 EC       BNE   $1EAC
1EC0-   60          RTS

1EC1-   20 F1 1D    JSR   $1DF1			; Move screen up
1EC4-   20 CA 1D    JSR   $1DCA			; and left
1EC7-   60          RTS

1EC8-   20 F1 1D    JSR   $1DF1			; Move screen up
1ECB-   20 A5 1D    JSR   $1DA5			; and right
1ECE-   60          RTS

1ECF-   20 55 1E    JSR   $1E55			; Move screen down
1ED2-   20 CA 1D    JSR   $1DCA			; and left
1ED5-   60          RTS

1ED6-   20 55 1E    JSR   $1E55			; Move screen down
1ED9-   20 A5 1D    JSR   $1DA5			; and right
1EDC-   60          RTS

1EDD-   20 93 08    JSR   $0893			; Display color chart
1EE0-   A9 14       LDA   #$14			; JSR $893 stores current drawing
1EE2-   8D A5 08    STA   $08A5			; then gets setup to use same
1EE5-   A9 FA       LDA   #$FA			; routine to move the color
1EE7-   8D A9 08    STA   $08A9			; chart to $400-$7FF
1EEA-   A9 26       LDA   #$26
1EEC-   8D AB 08    STA   $08AB
1EEF-   A9 18       LDA   #$18
1EF1-   8D B4 08    STA   $08B4
1EF4-   20 93 08    JSR   $0893
1EF7-   A9 5C       LDA   #$5C
1EF9-   8D A5 08    STA   $08A5
1EFC-   A9 14       LDA   #$14
1EFE-   8D B4 08    STA   $08B4
1F01-   18          CLC				; CLC to Wait for keypress
1F02-   AD 00 C0    LDA   $C000    r:KBD  w:CLR80COL
1F05-   69 80       ADC   #$80
1F07-   90 F8       BCC   $1F01			; BCC = no keypress
1F09-   A9 26       LDA   #$26				
1F0B-   8D AB 08    STA   $08AB
1F0E-   A9 FA       LDA   #$FA
1F10-   8D A9 08    STA   $08A9
1F13-   20 93 08    JSR   $0893			; Restore original drawing
1F16-   20 58 FC    JSR   $FC58    F8ROM:HOME	; Clear text area
1F19-   20 55 10    JSR   $1055			; Print X> Y> Plot> O Col>
1F1C-   20 8A 10    JSR   $108A			; Print hex bytes
1F1F-   20 39 10    JSR   $1039			; Print ?-Help
1F22-   A9 26       LDA   #$26			; restore $893 routine to
1F24-   8D A9 08    STA   $08A9			; perform move from $400-$7FF
1F27-   A9 FA       LDA   #$FA			; destination $6000
1F29-   8D AB 08    STA   $08AB
1F2C-   A9 00       LDA   #$00
1F2E-   8D 10 C0    STA   $C010    r:KBDSTRB	; Clear keypress
1F31-   20 D2 10    JSR   $10D2			; Print color byte
1F34-   60          RTS

1F35-   20 93 08    JSR   $0893			; Display command chart
1F38-   A9 10       LDA   #$10			; Extremely similar to $1EDD
1F3A-   8D A5 08    STA   $08A5			; routine, with minor mods
1F3D-   A9 FA       LDA   #$FA			; to perform switching back
1F3F-   8D A9 08    STA   $08A9			; & forth from text mode 
1F42-   A9 26       LDA   #$26
1F44-   8D AB 08    STA   $08AB
1F47-   A9 18       LDA   #$18
1F49-   8D B4 08    STA   $08B4
1F4C-   20 93 08    JSR   $0893
1F4F-   A9 5C       LDA   #$5C
1F51-   8D A5 08    STA   $08A5
1F54-   A9 14       LDA   #$14
1F56-   8D B4 08    STA   $08B4
1F59-   8D 51 C0    STA   $C051    rw:TXTSET
1F5C-   18          CLC
1F5D-   AD 00 C0    LDA   $C000    r:KBD  w:CLR80COL
1F60-   69 80       ADC   #$80
1F62-   90 F8       BCC   $1F5C
1F64-   A9 26       LDA   #$26
1F66-   8D AB 08    STA   $08AB
1F69-   A9 FA       LDA   #$FA
1F6B-   8D A9 08    STA   $08A9
1F6E-   20 93 08    JSR   $0893
1F71-   20 58 FC    JSR   $FC58    F8ROM:HOME
1F74-   20 55 10    JSR   $1055
1F77-   20 8A 10    JSR   $108A
1F7A-   20 39 10    JSR   $1039
1F7D-   A9 26       LDA   #$26
1F7F-   8D A9 08    STA   $08A9
1F82-   A9 FA       LDA   #$FA
1F84-   8D AB 08    STA   $08AB
1F87-   A9 00       LDA   #$00
1F89-   8D 10 C0    STA   $C010    r:KBDSTRB
1F8C-   20 D2 10    JSR   $10D2
1F8F-   8D 50 C0    STA   $C050    rw:TXTCLR
1F92-   60          RTS

1F93-   A0 27       LDY   #$27			; Exit Prodraw?
1F95-   B9 28 30    LDA   $3028,Y
1F98-   99 50 06    STA   $0650,Y
1F9B-   B9 A8 30    LDA   $30A8,Y
1F9E-   99 D0 06    STA   $06D0,Y
1FA1-   B9 28 31    LDA   $3128,Y
1FA4-   99 50 07    STA   $0750,Y
1FA7-   B9 A8 31    LDA   $31A8,Y
1FAA-   99 D0 07    STA   $07D0,Y
1FAD-   88          DEY
1FAE-   10 E5       BPL   $1F95
1FB0-   A9 00       LDA   #$00
1FB2-   8D 10 C0    STA   $C010    r:KBDSTRB
1FB5-   18          CLC
1FB6-   AD 00 C0    LDA   $C000    r:KBD  w:CLR80COL
1FB9-   69 80       ADC   #$80
1FBB-   90 F8       BCC   $1FB5
1FBD-   AD 10 C0    LDA   $C010    r:KBDSTRB
1FC0-   C9 D9       CMP   #$D9
1FC2-   D0 03       BNE   $1FC7
1FC4-   4C E3 1F    JMP   $1FE3
1FC7-   C9 F9       CMP   #$F9
1FC9-   D0 03       BNE   $1FCE
1FCB-   4C E3 1F    JMP   $1FE3
1FCE-   20 58 FC    JSR   $FC58    F8ROM:HOME
1FD1-   20 39 10    JSR   $1039
1FD4-   20 55 10    JSR   $1055
1FD7-   20 8A 10    JSR   $108A
1FDA-   20 15 0B    JSR   $0B15
1FDD-   A9 00       LDA   #$00
1FDF-   8D 10 C0    STA   $C010    r:KBDSTRB
1FE2-   60          RTS
1FE3-   20 58 FC    JSR   $FC58    F8ROM:HOME	; Exit confirmed
1FE6-   A9 00       LDA   #$00
1FE8-   A2 0F       LDX   #$0F
1FEA-   BD 73 08    LDA   $0873,X
1FED-   95 00       STA   $00,X			; Restore zero page
1FEF-   CA          DEX
1FF0-   E0 FF       CPX   #$FF
1FF2-   D0 F6       BNE   $1FEA
1FF4-   4C D0 03    JMP   $03D0			; Exit to OS

$2000-$23FF - Text edit display page storage

2400-   A9 60       LDA   #$60			; Store $400-$7FF to merge
2402-   8D A5 08    STA   $08A5			; Uses $893 routine and sets
2405-   20 93 08    JSR   $0893			; it back to original on exit
2408-   A9 FF       LDA   #$FF
240A-   8D 5F 08    STA   $085F
240D-   A9 5C       LDA   #$5C
240F-   8D A5 08    STA   $08A5
2412-   20 90 09    JSR   $0990
2415-   60          RTS

2416-   20 93 08    JSR   $0893			; New Drawing?
2419-   20 58 FC    JSR   $FC58    F8ROM:HOME
241C-   A0 10       LDY   #$10
241E-   B9 00 30    LDA   $3000,Y
2421-   99 50 06    STA   $0650,Y
2424-   B9 80 30    LDA   $3080,Y
2427-   99 D0 06    STA   $06D0,Y
242A-   B9 00 31    LDA   $3100,Y
242D-   99 50 07    STA   $0750,Y
2430-   B9 80 31    LDA   $3180,Y
2433-   99 D0 07    STA   $07D0,Y
2436-   B9 39 31    LDA   $3139,Y
2439-   99 61 07    STA   $0761,Y
243C-   88          DEY
243D-   10 DF       BPL   $241E
243F-   A9 00       LDA   #$00			; Check for new drawing
2441-   8D 10 C0    STA   $C010    r:KBDSTRB
2444-   18          CLC
2445-   AD 00 C0    LDA   $C000    r:KBD  w:CLR80COL
2448-   69 80       ADC   #$80
244A-   90 F8       BCC   $2444
244C-   AD 10 C0    LDA   $C010    r:KBDSTRB
244F-   C9 D9       CMP   #$D9
2451-   D0 03       BNE   $2456
2453-   4C 71 24    JMP   $2471			; CMP 'Y' & 'y' - yes
2456-   C9 F9       CMP   #$F9
2458-   D0 03       BNE   $245D
245A-   4C 71 24    JMP   $2471
245D-   20 58 FC    JSR   $FC58    F8ROM:HOME	; No new drawing
2460-   20 39 10    JSR   $1039
2463-   20 55 10    JSR   $1055
2466-   20 8A 10    JSR   $108A
2469-   20 D2 10    JSR   $10D2
246C-   A9 00       LDA   #$00
246E-   4C 88 24    JMP   $2488
2471-   A9 FF       LDA   #$FF			; Yes new drawing
2473-   8D 5E 08    STA   $085E
2476-   20 27 0A    JSR   $0A27
2479-   20 DF 2E    JSR   $2EDF			; JSR get name, screen wipe 
247C-   20 58 FC    JSR   $FC58    F8ROM:HOME
247F-   20 39 10    JSR   $1039
2482-   20 55 10    JSR   $1055
2485-   20 8A 10    JSR   $108A
2488-   20 D2 10    JSR   $10D2
248B-   A9 00       LDA   #$00
248D-   8D 10 C0    STA   $C010    r:KBDSTRB
2490-   20 90 09    JSR   $0990
2493-   60          RTS

2494-   20 93 08    JSR   $0893			; Display E/M/U buffers
2497-   A9 64       LDA   #$64
2499-   8D A5 08    STA   $08A5
249C-   A9 FA       LDA   #$FA
249E-   8D A9 08    STA   $08A9
24A1-   A9 26       LDA   #$26
24A3-   8D AB 08    STA   $08AB
24A6-   20 93 08    JSR   $0893

24A9-   20 58 FC    JSR   $FC58    F8ROM:HOME	; Display Undo then merge buffer
24AC-   A0 27       LDY   #$27
24AE-   B9 00 30    LDA   $3000,Y
24B1-   99 38 06    STA   $0638,Y
24B4-   B9 80 30    LDA   $3080,Y
24B7-   99 B8 06    STA   $06B8,Y
24BA-   B9 00 31    LDA   $3100,Y
24BD-   99 38 07    STA   $0738,Y
24C0-   B9 80 31    LDA   $3180,Y
24C3-   99 B8 07    STA   $07B8,Y
24C6-   88          DEY
24C7-   C0 18       CPY   #$18
24C9-   D0 E3       BNE   $24AE
24CB-   EA          NOP				; 4x NOPs due to routine
24CC-   EA          NOP				; rewite - no timing critical
24CD-   EA          NOP				; purpose, I was just to lazy
24CE-   EA          NOP				; to compress the code
24CF-   A9 00       LDA   #$00
24D1-   8D 10 C0    STA   $C010    r:KBDSTRB
24D4-   18          CLC
24D5-   AD 00 C0    LDA   $C000    r:KBD  w:CLR80COL
24D8-   69 80       ADC   #$80
24DA-   90 F8       BCC   $24D4
24DC-   A9 00       LDA   #$00
24DE-   8D 10 C0    STA   $C010    r:KBDSTRB
24E1-   A9 60       LDA   #$60
24E3-   8D A5 08    STA   $08A5
24E6-   20 93 08    JSR   $0893
24E9-   A9 03       LDA   #$03
24EB-   85 24       STA   $24
24ED-   A9 16       LDA   #$16
24EF-   20 5B FB    JSR   $FB5B    F8ROM:TABV
24F2-   A2 00       LDX   #$00
24F4-   BD 02 25    LDA   $2502,X
24F7-   20 ED FD    JSR   $FDED    F8ROM:COUT
24FA-   E8          INX
24FB-   E0 0C       CPX   #$0C
24FD-   D0 F5       BNE   $24F4
24FF-   4C 0E 25    JMP   $250E
2502-   CD E5 F2 E7 E5 A0 E2 F5 E6 E6 E5 F2 20 2A 0B
2513-   18          CLC
2514-   AD 00 C0    LDA   $C000    r:KBD  w:CLR80COL
2517-   69 80       ADC   #$80
2519-   90 F8       BCC   $2513
251B-   A9 00       LDA   #$00
251D-   8D 10 C0    STA   $C010    r:KBDSTRB
2520-   A9 5C       LDA   #$5C
2522-   8D A5 08    STA   $08A5
2525-   20 93 08    JSR   $0893
2528-   A9 26       LDA   #$26
252A-   8D A9 08    STA   $08A9
252D-   A9 FA       LDA   #$FA
252F-   8D AB 08    STA   $08AB
2532-   4C 5D 24    JMP   $245D

2548-   20 27 0A    JSR   $0A27			; Swap 2 colors
254B-   20 58 FC    JSR   $FC58    F8ROM:HOME
254E-   A0 27       LDY   #$27
2550-   B9 50 32    LDA   $3250,Y
2553-   99 50 06    STA   $0650,Y
2556-   B9 D0 32    LDA   $32D0,Y
2559-   99 D0 06    STA   $06D0,Y
255C-   B9 50 33    LDA   $3350,Y
255F-   99 50 07    STA   $0750,Y
2562-   B9 D0 33    LDA   $33D0,Y
2565-   99 D0 07    STA   $07D0,Y
2568-   88          DEY
2569-   C0 13       CPY   #$13
256B-   D0 E3       BNE   $2550
256D-   20 4F 0B    JSR   $0B4F
2570-   EA          NOP				; 6x NOPs from routine
2571-   EA          NOP				; rewrite.  Again not timing
2572-   EA          NOP				; critical, just me being too
2573-   EA          NOP				; lazy to compress the code
2574-   EA          NOP
2575-   EA          NOP
2576-   A9 00       LDA   #$00			; Swap two colors
2578-   85 FC       STA   $FC
257A-   85 FD       STA   $FD
257C-   8D 10 C0    STA   $C010    r:KBDSTRB
257F-   18          CLC				; Set ZP $FC (initial color)
2580-   AD 00 C0    LDA   $C000    r:KBD  w:CLR80COL
2583-   69 80       ADC   #$80
2585-   90 F8       BCC   $257F
2587-   AD 10 C0    LDA   $C010    r:KBDSTRB
258A-   C9 88       CMP   #$88			; <-- Decrease selected color
258C-   D0 0C       BNE   $259A
258E-   C6 FC       DEC   $FC
2590-   A5 FC       LDA   $FC
2592-   C9 FF       CMP   #$FF			; Color less than zero?
2594-   D0 04       BNE   $259A			
2596-   A9 0F       LDA   #$0F			; Set it to $0F
2598-   85 FC       STA   $FC
259A-   C9 95       CMP   #$95			; --> Increase selected color
259C-   D0 0C       BNE   $25AA
259E-   E6 FC       INC   $FC
25A0-   A5 FC       LDA   $FC
25A2-   C9 10       CMP   #$10			; Color greater than $0F?
25A4-   D0 04       BNE   $25AA
25A6-   A9 00       LDA   #$00			; Set it to $00
25A8-   85 FC       STA   $FC
25AA-   C9 9B       CMP   #$9B			; Esc
25AC-   D0 03       BNE   $25B1
25AE-   4C 35 26    JMP   $2635			; Exit without doing

25B1-   C9 8D       CMP   #$8D			; Return keypress
25B3-   D0 03       BNE   $25B8
25B5-   4C D6 25    JMP   $25D6			; Onto next color
25B8-   A9 08       LDA   #$08			; Display $FC color byte
25BA-   85 24       STA   $24
25BC-   A9 16       LDA   #$16
25BE-   20 5B FB    JSR   $FB5B    F8ROM:TABV
25C1-   A5 FC       LDA   $FC
25C3-   20 DA FD    JSR   $FDDA    F8ROM:PRBYTE
25C6-   A9 03       LDA   #$03
25C8-   8D B8 08    STA   $08B8
25CB-   8D B9 08    STA   $08B9
25CE-   20 BA 08    JSR   $08BA			; Make some noise
25D1-   A9 00       LDA   #$00
25D3-   4C 7C 25    JMP   $257C			; Back to start, no Ret or Esc
25D6-   A9 00       LDA   #$00				
25D8-   8D 10 C0    STA   $C010    r:KBDSTRB
25DB-   18          CLC
25DC-   AD 00 C0    LDA   $C000    r:KBD  w:CLR80COL
25DF-   69 80       ADC   #$80
25E1-   90 F8       BCC   $25DB
25E3-   AD 10 C0    LDA   $C010    r:KBDSTRB
25E6-   C9 88       CMP   #$88			; <-- Decrease selected color
25E8-   D0 0C       BNE   $25F6
25EA-   C6 FD       DEC   $FD
25EC-   A5 FD       LDA   $FD
25EE-   C9 FF       CMP   #$FF
25F0-   D0 04       BNE   $25F6
25F2-   A9 0F       LDA   #$0F
25F4-   85 FD       STA   $FD
25F6-   C9 95       CMP   #$95			; --> Increase selected color
25F8-   D0 0C       BNE   $2606
25FA-   E6 FD       INC   $FD
25FC-   A5 FD       LDA   $FD
25FE-   C9 10       CMP   #$10
2600-   D0 04       BNE   $2606
2602-   A9 00       LDA   #$00
2604-   85 FD       STA   $FD
2606-   C9 9B       CMP   #$9B			; Esc
2608-   D0 03       BNE   $260D
260A-   4C 35 26    JMP   $2635			; Exit without doing
260D-   C9 8D       CMP   #$8D			; Return keypress
260F-   D0 03       BNE   $2614
2611-   4C 32 26    JMP   $2632			; Goto swap colors
2614-   A9 11       LDA   #$11
2616-   85 24       STA   $24
2618-   A9 16       LDA   #$16
261A-   20 5B FB    JSR   $FB5B    F8ROM:TABV
261D-   A5 FD       LDA   $FD
261F-   20 DA FD    JSR   $FDDA    F8ROM:PRBYTE
2622-   A9 03       LDA   #$03
2624-   8D B8 08    STA   $08B8
2627-   8D B9 08    STA   $08B9
262A-   20 BA 08    JSR   $08BA
262D-   A9 00       LDA   #$00
262F-   4C D8 25    JMP   $25D8
2632-   20 90 0A    JSR   $0A90			; Swap the colors
2635-   20 58 FC    JSR   $FC58    F8ROM:HOME
2638-   20 39 10    JSR   $1039			; Refresh text status
263B-   20 55 10    JSR   $1055
263E-   20 8A 10    JSR   $108A
2641-   20 D2 10    JSR   $10D2
2644-   20 90 09    JSR   $0990
2647-   60          RTS

2648-   20 93 08    JSR   $0893			; Edit 4-lines of text
264B-   A9 1C       LDA   #$1C			; Store pic with $0893 routine
264D-   8D A5 08    STA   $08A5
2650-   A9 FA       LDA   #$FA			; Setup $0893 routine to move
2652-   8D A9 08    STA   $08A9			; text editor display into place
2655-   A9 26       LDA   #$26
2657-   8D AB 08    STA   $08AB
265A-   A9 18       LDA   #$18
265C-   8D B4 08    STA   $08B4
265F-   20 93 08    JSR   $0893			; Display text editing screen 
2662-   8D 51 C0    STA   $C051    rw:TXTSET	; then switch to text
2665-   A9 5C       LDA   #$5C			; Set $0893 routine to move
2667-   8D A5 08    STA   $08A5			; $6000-$63FF back to $0400
266A-   A9 14       LDA   #$14
266C-   8D B4 08    STA   $08B4

266F-   A5 0F       LDA   $0F			; Compare $0F to determine if
2671-   F0 03       BEQ   $2676			; Current pic has text already?
2673-   20 BE 27    JSR   $27BE			; Yes, fetch text
2676-   A9 00       LDA   #$00				
2678-   85 FC       STA   $FC			; Store X-Var at $FC
267A-   A9 14       LDA   #$14
267C-   85 FD       STA   $FD			; Store Y-Var at $FD
267E-   A9 80       LDA   #$80
2680-   85 FE       STA   $FE			; Store style mask at $FE

2682-   A9 00       LDA   #$00
2684-   8D 10 C0    STA   $C010    r:KBDSTRB	; Reset keyboard strobe
2687-   20 90 26    JSR   $2690			; JSR blink cursor
268A-   20 B0 26    JSR   $26B0			; JSR check keypress
268D-   4C 5F 27    JMP   $275F			; Check exit bytes

2690-   A5 FD       LDA   $FD			; Blink cursor
2692-   20 47 F8    JSR   $F847    F8ROM:GBASCALC
2695-   A4 FC       LDY   $FC
2697-   B1 26       LDA   ($26),Y
2699-   85 0E       STA   $0E			; $0E temp storage for current
269B-   A9 DF       LDA   #$DF			; character on screen
269D-   91 26       STA   ($26),Y
269F-   20 C3 0A    JSR   $0AC3
26A2-   A5 0E       LDA   $0E
26A4-   91 26       STA   ($26),Y
26A6-   60          RTS

26B0-   18          CLC				; Check keypresses.
26B1-   AD 00 C0    LDA   $C000    r:KBD  w:CLR80COL
26B4-   69 80       ADC   #$80
26B6-   90 03       BCC   $26BB
26B8-   20 BC 26    JSR   $26BC
26BB-   60          RTS

26BC-   AD 10 C0    LDA   $C010    r:KBDSTRB
26BF-   C9 88       CMP   #$88			; <-- Move cursor left
26C1-   D0 0D       BNE   $26D0
26C3-   C6 FC       DEC   $FC
26C5-   A5 FC       LDA   $FC
26C7-   C9 FF       CMP   #$FF
26C9-   D0 05       BNE   $26D0
26CB-   A9 27       LDA   #$27
26CD-   85 FC       STA   $FC
26CF-   60          RTS

26D0-   C9 95       CMP   #$95			; --> Move cursor right
26D2-   D0 0D       BNE   $26E1
26D4-   E6 FC       INC   $FC
26D6-   A5 FC       LDA   $FC
26D8-   C9 28       CMP   #$28
26DA-   D0 04       BNE   $26E0
26DC-   A9 00       LDA   #$00
26DE-   85 FC       STA   $FC
26E0-   60          RTS

26E1-   C9 8A       CMP   #$8A			; Down arrow Move cursor down
26E3-   D0 0D       BNE   $26F2
26E5-   E6 FD       INC   $FD
26E7-   A5 FD       LDA   $FD
26E9-   C9 18       CMP   #$18
26EB-   D0 04       BNE   $26F1
26ED-   A9 14       LDA   #$14
26EF-   85 FD       STA   $FD
26F1-   60          RTS

26F2-   C9 8B       CMP   #$8B			; Up arrow Move cursor up
26F4-   D0 0D       BNE   $2703
26F6-   C6 FD       DEC   $FD
26F8-   A5 FD       LDA   $FD
26FA-   C9 13       CMP   #$13
26FC-   D0 04       BNE   $2702
26FE-   A9 17       LDA   #$17
2700-   85 FD       STA   $FD
2702-   60          RTS

2703-   C9 86       CMP   #$86			; Ctrl-F Flash
2705-   D0 05       BNE   $270C			; <SPC> gets inversed when flashing
2707-   A9 80       LDA   #$80			; have to look into it for the next
2709-   85 FE       STA   $FE			; build.
270B-   60          RTS

270C-   C9 09       CMP   #$09			; Ctrl-I Inverse
270E-   D0 05       BNE   $2715			; <SPC> gets flashed while inversing
2710-   A9 C0       LDA   #$C0			; have to look into it for the next
2712-   85 FE       STA   $FE			; build
2714-   60          RTS

2715-   C9 8E       CMP   #$8E			; Ctrl-N Normal
2717-   D0 05       BNE   $271E
2719-   A9 00       LDA   #$00
271B-   85 FE       STA   $FE
271D-   60          RTS

271E-   C9 82       CMP   #$82			; Ctrl-B blank buffer
2720-   D0 04       BNE   $2726
2722-   20 58 FC    JSR   $FC58    F8ROM:HOME
2725-   60          RTS

2726-   C9 9B       CMP   #$9B			; ESC exits
2728-   D0 04       BNE   $272E
272A-   A9 FF       LDA   #$FF
272C-   A8          TAY
272D-   60          RTS

272E-   C9 8D       CMP   #$8D			; <RET> drop down a line
2730-   D0 11       BNE   $2743			; and set x coord to zero
2732-   A9 00       LDA   #$00
2734-   85 FC       STA   $FC
2736-   E6 FD       INC   $FD
2738-   A5 FD       LDA   $FD
273A-   C9 18       CMP   #$18
273C-   D0 04       BNE   $2742
273E-   A9 14       LDA   #$14
2740-   85 FD       STA   $FD
2742-   60          RTS

2743-   85 0E       STA   $0E			; Print the character
2745-   A5 FD       LDA   $FD
2747-   20 47 F8    JSR   $F847    F8ROM:GBASCALC
274A-   A4 FC       LDY   $FC
274C-   A5 0E       LDA   $0E
274E-   45 FE       EOR   $FE
2750-   91 26       STA   ($26),Y
2752-   E6 FC       INC   $FC
2754-   A5 FC       LDA   $FC
2756-   C9 28       CMP   #$28
2758-   D0 04       BNE   $275E
275A-   A9 00       LDA   #$00
275C-   85 FC       STA   $FC
275E-   60          RTS

275F-   C9 FF       CMP   #$FF			; CMP Accum with #$FF
2761-   D0 04       BNE   $2767			; BNE = not an $FF
2763-   C0 FF       CPY   #$FF			; CMP Y with #$FF
2765-   F0 03       BEQ   $276A			; BEQ because ACCUM+Y are $FF = exit
2767-   4C 87 26    JMP   $2687			; else: return and do it again

276A-   A9 14       LDA   #$14			; Transfer 4-lines of text to
276C-   8D 94 08    STA   $0894			; data buffer ($6000-$6400 buffer)
276F-   A9 5C       LDA   #$5C
2771-   8D A5 08    STA   $08A5
2774-   A9 26       LDA   #$26
2776-   8D A9 08    STA   $08A9
2779-   A9 FA       LDA   #$FA
277B-   8D AB 08    STA   $08AB
277E-   A9 18       LDA   #$18
2780-   8D B4 08    STA   $08B4
2783-   20 93 08    JSR   $0893
2786-   A9 00       LDA   #$00
2788-   8D 94 08    STA   $0894
278B-   A9 FA       LDA   #$FA
278D-   8D A9 08    STA   $08A9
2790-   A9 26       LDA   #$26
2792-   8D AB 08    STA   $08AB
2795-   A9 14       LDA   #$14
2797-   8D B4 08    STA   $08B4
279A-   20 93 08    JSR   $0893
279D-   A9 26       LDA   #$26
279F-   8D A9 08    STA   $08A9
27A2-   A9 FA       LDA   #$FA
27A4-   8D AB 08    STA   $08AB
27A7-   8D 50 C0    STA   $C050    rw:TXTCLR
27AA-   20 58 FC    JSR   $FC58    F8ROM:HOME
27AD-   20 0E 0B    JSR   $0B0E			; Bug fix - see $B0E
27B0-   20 8A 10    JSR   $108A
27B3-   20 39 10    JSR   $1039
27B6-   20 90 09    JSR   $0990
27B9-   A9 FF       LDA   #$FF
27BB-   85 0F       STA   $0F			; $FF stored at $0F to indicate text
27BD-   60          RTS				; attached to pic

27BE-   A9 14       LDA   #$14			; Fetch text for text editor
27C0-   8D 94 08    STA   $0894
27C3-   A9 5C       LDA   #$5C
27C5-   8D A5 08    STA   $08A5
27C8-   A9 FA       LDA   #$FA
27CA-   8D A9 08    STA   $08A9
27CD-   A9 26       LDA   #$26
27CF-   8D AB 08    STA   $08AB
27D2-   A9 18       LDA   #$18
27D4-   8D B4 08    STA   $08B4
27D7-   20 93 08    JSR   $0893
27DA-   A9 00       LDA   #$00
27DC-   8D 94 08    STA   $0894
27DF-   A9 26       LDA   #$26
27E1-   8D A9 08    STA   $08A9
27E4-   A9 FA       LDA   #$FA
27E6-   8D AB 08    STA   $08AB
27E9-   A9 14       LDA   #$14
27EB-   8D B4 08    STA   $08B4
27EE-   60          RTS

27EF-   20 BE 27    JSR   $27BE			; Display 4-lines of text
27F2-   20 00 0B    JSR   $0B00			; JSR to keywait routine
27F5-   A9 00       LDA   #$00
27F7-   8D 10 C0    STA   $C010    r:KBDSTRB
27FA-   4C AA 27    JMP   $27AA			; JMP to cleanup and RTS

$2800-$2BFF - AuxRAM display page storage

$2C00-$2C2C - AuxRAM buffer status bytes	; Used to determine if AuxRAM
						; location has a valid picture
2C00- 00 00 00 00 00 00 00 00			; stored within
2C08- 00 00 00 00 00 00 00 00			; $FF = valid picture 
2C10- 00 00 00 00 00 00 00 00			; $00 = invalid or empty
2C18- 00 00 00 00 00 00 00 00			; Checksum can determine memory
2C20- 00 00 00 00 00 00 00 00			; usage.
2C28- 00 00 00 00 00

$2C00 . . . . . . . . . . . . . . . $2C0E	; Correlates to AuxRAM manager
$2C0F . . . . . . . . . . . . . . . $2C1D	; buffer status display
$2C1E . . . . . . . . . . . . . . . $2C2C	; 15 per line - 45 total pics

$2C2D-$2EDE -Storage for 45x filenames + current edit filename

2C2D- PRODOS.FILENM01				; Filename storage for
2C3C- PRODOS.FILENM02				; 45 AuxRAM buffers.
2C4B- PRODOS.FILENM03				; In the event of a ProDOS
2C5A- PRODOS.FILENM04				; flush, all files will
2C69- PRODOS.FILENM05				; be saved to disk
2C78- PRODOS.FILENM06				; thus they require
2C87- PRODOS.FILENM07				; filenames to automate
2C96- PRODOS.FILENM08				; the process
2CA5- PRODOS.FILENM09				;
2CB4- PRODOS.FILENM10				; Not to be confused with
						; an AuxRAM flush, which will
2CC3- PRODOS.FILENM11				; simply delete all files from
2CD2- PRODOS.FILENM12				; RAM and blank the related
2CE1- PRODOS.FILENM13				; filename/buffer status byte
2CF0- PRODOS.FILENM14
2CFF- PRODOS.FILENM15
2D0E- PRODOS.FILENM16
2D1D- PRODOS.FILENM17
2D2C- PRODOS.FILENM18				; None of this is implemented
2D3B- PRODOS.FILENM19				; in current build (14 Feb 09)
2D4A- PRODOS.FILENM20				; Mainly because AuxRAM manager
						; is not yet written! :)
2D59- PRODOS.FILENM21
2D68- PRODOS.FILENM22
2D77- PRODOS.FILENM23
2D86- PRODOS.FILENM24
2D95- PRODOS.FILENM25
2DA4- PRODOS.FILENM26
2DB3- PRODOS.FILENM27
2DC2- PRODOS.FILENM28
2DD1- PRODOS.FILENM29
2DE0- PRODOS.FILENM30

2DEF- PRODOS.FILENM31
2DFE- PRODOS.FILENM32
2E0D- PRODOS.FILENM33
2E1C- PRODOS.FILENM34
2E2B- PRODOS.FILENM35
2E3A- PRODOS.FILENM36
2E49- PRODOS.FILENM37
2E58- PRODOS.FILENM38
2E67- PRODOS.FILENM39
2E76- PRODOS.FILENM40

2E85- PRODOS.FILENM41
2E94- PRODOS.FILENM42
2EA3- PRODOS.FILENM43
2EB2- PRODOS.FILENM44
2EC1- PRODOS.FILENM45

2ED0- CURRENT.EDIT.NM				; Filename of current edit pic

2EDF-   A9 14       LDA   #$14			; Prodos file handling
2EE1-   85 FE       STA   $FE			; Horribly sloppy routine,
2EE3-   A0 27       LDY   #$27			; I'm surprised it sorta works!
2EE5-   A5 FE       LDA   $FE
2EE7-   20 47 F8    JSR   $F847    F8ROM:GBASCALC
2EEA-   A5 26       LDA   $26
2EEC-   85 FA       STA   $FA
2EEE-   A5 27       LDA   $27
2EF0-   69 2C       ADC   #$2C
2EF2-   85 FB       STA   $FB
2EF4-   B1 FA       LDA   ($FA),Y
2EF6-   91 26       STA   ($26),Y
2EF8-   88          DEY
2EF9-   10 F9       BPL   $2EF4
2EFB-   E6 FE       INC   $FE
2EFD-   A5 FE       LDA   $FE
2EFF-   C9 18       CMP   #$18
2F01-   D0 E0       BNE   $2EE3
2F03-   20 00 0B    JSR   $0B00
2F06-   AD 10 C0    LDA   $C010    r:KBDSTRB
2F09-   C9 9B       CMP   #$9B			; ESC - exit routine
2F0B-   D0 10       BNE   $2F1D
2F0D-   20 58 FC    JSR   $FC58    F8ROM:HOME
2F10-   20 0E 0B    JSR   $0B0E
2F13-   20 8A 10    JSR   $108A
2F16-   20 39 10    JSR   $1039
2F19-   20 90 09    JSR   $0990
2F1C-   60          RTS
2F1D-   C9 C3       CMP   #$C3			; C - Catalog
2F1F-   D0 4B       BNE   $2F6C
2F21-   A9 C3       LDA   #$C3
2F23-   8D 00 02    STA   $0200
2F26-   A9 C1       LDA   #$C1
2F28-   8D 01 02    STA   $0201
2F2B-   A9 D4       LDA   #$D4
2F2D-   8D 02 02    STA   $0202
2F30-   A9 8D       LDA   #$8D
2F32-   8D 03 02    STA   $0203
2F35-   20 93 08    JSR   $0893
2F38-   A9 00       LDA   #$00
2F3A-   85 22       STA   $22
2F3C-   8D 51 C0    STA   $C051    rw:TXTSET
2F3F-   20 58 FC    JSR   $FC58    F8ROM:HOME
2F42-   20 03 BE    JSR   $BE03
2F45-   20 00 0B    JSR   $0B00
2F48-   8D 10 C0    STA   $C010    r:KBDSTRB
2F4B-   8D 50 C0    STA   $C050    rw:TXTCLR
2F4E-   A9 FA       LDA   #$FA
2F50-   8D A9 08    STA   $08A9
2F53-   A9 26       LDA   #$26
2F55-   8D AB 08    STA   $08AB
2F58-   20 93 08    JSR   $0893
2F5B-   A9 26       LDA   #$26
2F5D-   8D A9 08    STA   $08A9
2F60-   A9 FA       LDA   #$FA
2F62-   8D AB 08    STA   $08AB
2F65-   A9 14       LDA   #$14
2F67-   85 22       STA   $22
2F69-   4C DF 2E    JMP   $2EDF
2F6C-   C9 CC       CMP   #$CC			; L- Load
2F6E-   D0 03       BNE   $2F73
2F70-   4C 00 34    JMP   $3400
2F73-   C9 D3       CMP   #$D3			; S - Save
2F75-   D0 03       BNE   $2F7A
2F77-   4C 00 38    JMP   $3800
2F7A-   4C DF 2E    JMP   $2EDF

$2FC0-$2FE6 - Text for interface to BASIC.SYSTEM MLI (ProDOS)

2FC0-   C2 D3 C1 D6 C5				; BSAVE
2FC8-   C2 CC CF C1 C4				; BLOAD
2FD0-   AC C1 A4 B4 B0 B0			; ,A$400
2FD8-   AC CC A4 B3 C6 B8			; ,L$3F8
2FE0-   AC C1 A4 B6 B0 B0 B0			; ,A$6000

$3000.$33FF - Status.Text display screen

3400-   20 58 FC    JSR   $FC58    F8ROM:HOME	; Load a file
3403-   A0 1C       LDY   #$1C
3405-   B9 50 30    LDA   $3050,Y
3408-   99 3C 06    STA   $063C,Y
340B-   B9 D0 30    LDA   $30D0,Y
340E-   99 BC 06    STA   $06BC,Y
3411-   B9 50 31    LDA   $3150,Y
3414-   99 3C 07    STA   $073C,Y
3417-   B9 D0 31    LDA   $31D0,Y
341A-   99 BC 07    STA   $07BC,Y
341D-   88          DEY
341E-   C0 13       CPY   #$13
3420-   D0 E3       BNE   $3405
3422-   A9 0A       LDA   #$0A
3424-   85 24       STA   $24
3426-   A9 16       LDA   #$16
3428-   20 5B FB    JSR   $FB5B    F8ROM:TABV
342B-   A9 AF       LDA   #$AF
342D-   20 ED FD    JSR   $FDED    F8ROM:COUT
3430-   A9 1A       LDA   #$1A
3432-   85 24       STA   $24
3434-   A9 16       LDA   #$16
3436-   20 5B FB    JSR   $FB5B    F8ROM:TABV
3439-   A9 AF       LDA   #$AF
343B-   20 ED FD    JSR   $FDED    F8ROM:COUT
343E-   A0 06       LDY   #$06
3440-   B9 E0 2F    LDA   $2FE0,Y
3443-   99 6B 07    STA   $076B,Y
3446-   88          DEY
3447-   10 F7       BPL   $3440

3449-   20 00 35    JSR   $3500			; Fetch filename
344C-   AD BF 2F    LDA   $2FBF

344F-   C9 FF       CMP   #$FF			; Check for ESC
3451-   D0 04       BNE   $3457
3453-   4C 35 26    JMP   $2635
3456-   60          RTS

3457-   20 80 35    JSR   $3580			; Move filename to buffers
345A-   A0 00       LDY   #$00			; Store "BLOAD" into $200-$204
345C-   B9 C8 2F    LDA   $2FC8,Y
345F-   99 00 02    STA   $0200,Y
3462-   C8          INY
3463-   C0 05       CPY   #$05
3465-   D0 F5       BNE   $345C
3467-   A0 00       LDY   #$00			; Store ",A$6000" into $211-217
3469-   B9 E0 2F    LDA   $2FE0,Y
346C-   99 11 02    STA   $0211,Y
346F-   C8          INY
3470-   C0 07       CPY   #$07
3472-   D0 F5       BNE   $3469
3474-   A9 8D       LDA   #$8D			; Store <RET> $8D at end $218
3476-   8D 18 02    STA   $0218

3479-   20 B8 34    JSR   $34B8
347C-   A9 FA       LDA   #$FA
347E-   8D A9 08    STA   $08A9
3481-   A9 26       LDA   #$26
3483-   8D AB 08    STA   $08AB
3486-   A9 20       LDA   #$20
3488-   8D 9F 26    STA   $269F
348B-   A9 C3       LDA   #$C3
348D-   8D A0 26    STA   $26A0
3490-   A9 0A       LDA   #$0A
3492-   8D A1 26    STA   $26A1
3495-   20 93 08    JSR   $0893
3498-   A9 26       LDA   #$26
349A-   8D A9 08    STA   $08A9
349D-   A9 FA       LDA   #$FA
349F-   8D AB 08    STA   $08AB
34A2-   A9 00       LDA   #$00
34A4-   8D BF 2F    STA   $2FBF
34A7-   18          CLC
34A8-   4C 0D 2F    JMP   $2F0D			; Picture loaded - jmp to exit

34B8-   A9 64       LDA   #$64			; Store undo of current edit
34BA-   8D A5 08    STA   $08A5
34BD-   20 93 08    JSR   $0893
34C0-   A9 5C       LDA   #$5C
34C2-   8D A5 08    STA   $08A5
34C5-   20 03 BE    JSR   $BE03			; JSR to Prodos Basic.sys file handler
34C8-   A9 FF       LDA   #$FF			; $FF to set undo buffer status active
34CA-   8D 5E 08    STA   $085E			
34CD-   60          RTS


3500-   A9 00       LDA   #$00			; Grab filename from user
3502-   8D BF 2F    STA   $2FBF
3505-   A9 0B       LDA   #$0B
3507-   85 FC       STA   $FC
3509-   A9 EA       LDA   #$EA
350B-   8D 9F 26    STA   $269F
350E-   8D A0 26    STA   $26A0
3511-   8D A1 26    STA   $26A1
3514-   A9 16       LDA   #$16
3516-   85 FD       STA   $FD

3518-   A9 00       LDA   #$00
351A-   8D 10 C0    STA   $C010    r:KBDSTRB
351D-   20 90 26    JSR   $2690
3520-   18          CLC
3521-   AD 00 C0    LDA   $C000    r:KBD  w:CLR80COL
3524-   69 80       ADC   #$80
3526-   90 F5       BCC   $351D
3528-   AD 10 C0    LDA   $C010    r:KBDSTRB

352B-   C9 9B       CMP   #$9B
352D-   D0 06       BNE   $3535
352F-   A9 FF       LDA   #$FF
3531-   8D BF 2F    STA   $2FBF
3534-   60          RTS

3535-   C9 8D       CMP   #$8D
3537-   D0 01       BNE   $353A
3539-   60          RTS

353A-   C9 88       CMP   #$88
353C-   D0 1C       BNE   $355A
353E-   A5 FC       LDA   $FC
3540-   85 24       STA   $24
3542-   A5 FD       LDA   $FD
3544-   20 5B FB    JSR   $FB5B    F8ROM:TABV
3547-   A9 A0       LDA   #$A0
3549-   20 ED FD    JSR   $FDED    F8ROM:COUT
354C-   C6 FC       DEC   $FC
354E-   A5 FC       LDA   $FC
3550-   C9 0A       CMP   #$0A
3552-   D0 04       BNE   $3558
3554-   A9 0B       LDA   #$0B
3556-   85 FC       STA   $FC
3558-   A9 00       LDA   #$00

355A-   C9 00       CMP   #$00
355C-   D0 03       BNE   $3561
355E-   4C 1D 35    JMP   $351D

3561-   85 FA       STA   $FA
3563-   A5 FC       LDA   $FC
3565-   85 24       STA   $24
3567-   A5 FD       LDA   $FD
3569-   20 5B FB    JSR   $FB5B    F8ROM:TABV
356C-   A5 FA       LDA   $FA
356E-   20 ED FD    JSR   $FDED    F8ROM:COUT
3571-   E6 FC       INC   $FC
3573-   A5 FC       LDA   $FC
3575-   C9 1A       CMP   #$1A
3577-   D0 04       BNE   $357D
3579-   A9 19       LDA   #$19
357B-   85 FC       STA   $FC
357D-   4C 18 35    JMP   $3518

3580-   A0 00       LDY   #$00			; Store user supplied filename
3582-   B9 5B 07    LDA   $075B,Y		; into filename buffer and Prodos
3585-   99 D0 2E    STA   $2ED0,Y		; Basic.System ($205) name buffer
3588-   99 05 02    STA   $0205,Y
358B-   C8          INY
358C-   C0 0F       CPY   #$0F
358E-   D0 F2       BNE   $3582
3590-   60          RTS

3800-   A0 27       LDY   #$27			; Save an image file
3802-   B9 28 32    LDA   $3228,Y		; Works pretty much like the
3805-   99 50 06    STA   $0650,Y		; Loading routine does up
3808-   B9 A8 32    LDA   $32A8,Y		; above.  Only hey, it does
380B-   99 D0 06    STA   $06D0,Y		; a BSAVE instead of a BLOAD!
380E-   B9 28 33    LDA   $3328,Y
3811-   99 50 07    STA   $0750,Y
3814-   B9 A8 33    LDA   $33A8,Y
3817-   99 D0 07    STA   $07D0,Y
381A-   88          DEY
381B-   10 E5       BPL   $3802
381D-   20 00 35    JSR   $3500			; Get filename
3820-   AD BF 2F    LDA   $2FBF
3823-   C9 FF       CMP   #$FF
3825-   D0 04       BNE   $382B
3827-   4C 35 26    JMP   $2635
382A-   60          RTS
382B-   20 80 35    JSR   $3580
382E-   A0 00       LDY   #$00
3830-   B9 C0 2F    LDA   $2FC0,Y
3833-   99 00 02    STA   $0200,Y
3836-   C8          INY
3837-   C0 05       CPY   #$05
3839-   D0 F5       BNE   $3830
383B-   A0 00       LDY   #$00
383D-   B9 D0 2F    LDA   $2FD0,Y
3840-   99 11 02    STA   $0211,Y
3843-   C8          INY
3844-   C0 06       CPY   #$06
3846-   D0 F5       BNE   $383D
3848-   A0 00       LDY   #$00
384A-   B9 D8 2F    LDA   $2FD8,Y
384D-   99 17 02    STA   $0217,Y
3850-   C8          INY
3851-   C0 06       CPY   #$06
3853-   D0 F5       BNE   $384A
3855-   A9 8D       LDA   #$8D
3857-   8D 1D 02    STA   $021D
385A-   20 58 FC    JSR   $FC58    F8ROM:HOME
385D-   20 BE 27    JSR   $27BE
3860-   A9 29       LDA   #$29
3862-   85 24       STA   $24
3864-   A9 16       LDA   #$16
3866-   20 5B FB    JSR   $FB5B    F8ROM:TABV
3869-   A9 18       LDA   #$18
386B-   85 22       STA   $22
386D-   20 03 BE    JSR   $BE03
3870-   18          CLC
3871-   A9 14       LDA   #$14
3873-   85 22       STA   $22
3875-   4C 0D 2F    JMP   $2F0D

<EOF>